home *** CD-ROM | disk | FTP | other *** search
/ Aminet 32 / Aminet 32 (1999)(Schatztruhe)[!][Aug 1999].iso / Aminet / docs / hyper / jarg412.lha / jarg412.txt
Text File  |  1999-05-24  |  1MB  |  26,007 lines

  1.  
  2. #======= THIS IS THE JARGON FILE, VERSION 4.1.2, 28 APR 1999 =======#
  3.  
  4.    This is the Jargon File, a comprehensive compendium of hacker slang
  5. illuminating many aspects of hackish tradition, folklore, and humor.
  6.  
  7.    This document (the Jargon File) is in the public domain, to be freely
  8. used, shared, and modified.  There are (by intention) no legal
  9. restraints on what you can do with it, but there are traditions about
  10. its proper use to which many hackers are quite strongly attached.
  11. Please extend the courtesy of proper citation when you quote the File,
  12. ideally with a version number, as it will change and grow over time.
  13. (Examples of appropriate citation form: "Jargon File 4.1.2" or "The
  14. on-line hacker Jargon File, version 4.1.2, 28 APR 1999".)
  15.  
  16.    The Jargon File is a common heritage of the hacker culture.  Over
  17. the years a number of individuals have volunteered considerable time to
  18. maintaining the File and been recognized by the net at large as editors
  19. of it.  Editorial responsibilities include: to collate contributions
  20. and suggestions from others; to seek out corroborating information; to
  21. cross-reference related entries; to keep the file in a consistent
  22. format; and to announce and distribute updated versions periodically.
  23. Current volunteer editors include:
  24.  
  25.        Eric Raymond     <esr@snark.thyrsus.com>
  26.  
  27.    Although there is no requirement that you do so, it is considered
  28. good form to check with an editor before quoting the File in a
  29. published work or commercial product.  We may have additional
  30. information that would be helpful to you and can assist you in framing
  31. your quote to reflect not only the letter of the File but its spirit as
  32. well.
  33.  
  34.    All contributions and suggestions about this file sent to a volunteer
  35. editor are gratefully received and will be regarded, unless otherwise
  36. labelled, as freely given donations for possible use as part of this
  37. public-domain file.
  38.  
  39.    From time to time a snapshot of this file has been polished, edited,
  40. and formatted for commercial publication with the cooperation of the
  41. volunteer editors and the hacker community at large.  If you wish to
  42. have a bound paper copy of this file, you may find it convenient to
  43. purchase one of these.  They often contain additional material not
  44. found in on-line versions.  The two `authorized' editions so far are
  45. described in the Revision History section; there may be more in the
  46. future.
  47.  
  48. :Introduction:
  49. **************
  50.  
  51.    This document is a collection of slang terms used by various
  52. subcultures of computer hackers.  Though some technical material is
  53. included for background and flavor, it is not a technical dictionary;
  54. what we describe here is the language hackers use among themselves for
  55. fun, social communication, and technical debate.
  56.  
  57.    The `hacker culture' is actually a loosely networked collection of
  58. subcultures that is nevertheless conscious of some important shared
  59. experiences, shared roots, and shared values.  It has its own myths,
  60. heroes, villains, folk epics, in-jokes, taboos, and dreams.  Because
  61. hackers as a group are particularly creative people who define
  62. themselves partly by rejection of `normal' values and working habits,
  63. it has unusually rich and conscious traditions for an intentional
  64. culture less than 40 years old.
  65.  
  66.    As usual with slang, the special vocabulary of hackers helps hold
  67. their culture together -- it helps hackers recognize each other's
  68. places in the community and expresses shared values and experiences.
  69. Also as usual, _not_ knowing the slang (or using it inappropriately)
  70. defines one as an outsider, a mundane, or (worst of all in hackish
  71. vocabulary) possibly even a {suit}.  All human cultures use slang in
  72. this threefold way -- as a tool of communication, and of inclusion, and
  73. of exclusion.
  74.  
  75.    Among hackers, though, slang has a subtler aspect, paralleled perhaps
  76. in the slang of jazz musicians and some kinds of fine artists but hard
  77. to detect in most technical or scientific cultures; parts of it are
  78. code for shared states of _consciousness_.  There is a whole range of
  79. altered states and problem-solving mental stances basic to high-level
  80. hacking which don't fit into conventional linguistic reality any better
  81. than a Coltrane solo or one of Maurits Escher's `trompe l'oeil'
  82. compositions (Escher is a favorite of hackers), and hacker slang
  83. encodes these subtleties in many unobvious ways.  As a simple example,
  84. take the distinction between a {kluge} and an {elegant} solution, and
  85. the differing connotations attached to each.  The distinction is not
  86. only of engineering significance; it reaches right back into the nature
  87. of the generative processes in program design and asserts something
  88. important about two different kinds of relationship between the hacker
  89. and the hack.  Hacker slang is unusually rich in implications of this
  90. kind, of overtones and undertones that illuminate the hackish psyche.
  91.  
  92.    But there is more.  Hackers, as a rule, love wordplay and are very
  93. conscious and inventive in their use of language.  These traits seem to
  94. be common in young children, but the conformity-enforcing machine we
  95. are pleased to call an educational system bludgeons them out of most of
  96. us before adolescence.  Thus, linguistic invention in most subcultures
  97. of the modern West is a halting and largely unconscious process.
  98. Hackers, by contrast, regard slang formation and use as a game to be
  99. played for conscious pleasure.  Their inventions thus display an almost
  100. unique combination of the neotenous enjoyment of language-play with the
  101. discrimination of educated and powerful intelligence.  Further, the
  102. electronic media which knit them together are fluid, `hot' connections,
  103. well adapted to both the dissemination of new slang and the ruthless
  104. culling of weak and superannuated specimens.  The results of this
  105. process give us perhaps a uniquely intense and accelerated view of
  106. linguistic evolution in action.
  107.  
  108.    Hacker slang also challenges some common linguistic and
  109. anthropological assumptions.  For example, it has recently become
  110. fashionable to speak of `low-context' versus `high-context'
  111. communication, and to classify cultures by the preferred context level
  112. of their languages and art forms.  It is usually claimed that
  113. low-context communication (characterized by precision, clarity, and
  114. completeness of self-contained utterances) is typical in cultures which
  115. value logic, objectivity, individualism, and competition; by contrast,
  116. high-context communication (elliptical, emotive, nuance-filled,
  117. multi-modal, heavily coded) is associated with cultures which value
  118. subjectivity, consensus, cooperation, and tradition.  What then are we
  119. to make of hackerdom, which is themed around extremely low-context
  120. interaction with computers and exhibits primarily "low-context" values,
  121. but cultivates an almost absurdly high-context slang style?
  122.  
  123.    The intensity and consciousness of hackish invention make a
  124. compilation of hacker slang a particularly effective window into the
  125. surrounding culture -- and, in fact, this one is the latest version of
  126. an evolving compilation called the `Jargon File', maintained by hackers
  127. themselves for over 15 years.  This one (like its ancestors) is
  128. primarily a lexicon, but also includes topic entries which collect
  129. background or sidelight information on hacker culture that would be
  130. awkward to try to subsume under individual slang definitions.
  131.  
  132.    Though the format is that of a reference volume, it is intended that
  133. the material be enjoyable to browse.  Even a complete outsider should
  134. find at least a chuckle on nearly every page, and much that is
  135. amusingly thought-provoking.  But it is also true that hackers use
  136. humorous wordplay to make strong, sometimes combative statements about
  137. what they feel.  Some of these entries reflect the views of opposing
  138. sides in disputes that have been genuinely passionate; this is
  139. deliberate.  We have not tried to moderate or pretty up these disputes;
  140. rather we have attempted to ensure that _everyone's_ sacred cows get
  141. gored, impartially.  Compromise is not particularly a hackish virtue,
  142. but the honest presentation of divergent viewpoints is.
  143.  
  144.    The reader with minimal computer background who finds some references
  145. incomprehensibly technical can safely ignore them.  We have not felt it
  146. either necessary or desirable to eliminate all such; they, too,
  147. contribute flavor, and one of this document's major intended audiences
  148. -- fledgling hackers already partway inside the culture -- will benefit
  149. from them.
  150.  
  151.    A selection of longer items of hacker folklore and humor is included
  152. in {Appendix A}. The `outside' reader's attention is particularly
  153. directed to the Portrait of J. Random Hacker in {Appendix B}.  Appendix
  154. C, the {Bibliography}, lists some non-technical works which have either
  155. influenced or described the hacker culture.
  156.  
  157.    Because hackerdom is an intentional culture (one each individual must
  158. choose by action to join), one should not be surprised that the line
  159. between description and influence can become more than a little
  160. blurred.  Earlier versions of the Jargon File have played a central
  161. role in spreading hacker language and the culture that goes with it to
  162. successively larger populations, and we hope and expect that this one
  163. will do likewise.
  164.  
  165. :Of Slang, Jargon, and Techspeak:
  166. =================================
  167.  
  168. Linguists usually refer to informal language as `slang' and reserve the
  169. term `jargon' for the technical vocabularies of various occupations.
  170. However, the ancestor of this collection was called the `Jargon File',
  171. and hacker slang is traditionally `the jargon'.  When talking about the
  172. jargon there is therefore no convenient way to distinguish it from what
  173. a _linguist_ would call hackers' jargon -- the formal vocabulary they
  174. learn from textbooks, technical papers, and manuals.
  175.  
  176.    To make a confused situation worse, the line between hacker slang and
  177. the vocabulary of technical programming and computer science is fuzzy,
  178. and shifts over time.  Further, this vocabulary is shared with a wider
  179. technical culture of programmers, many of whom are not hackers and do
  180. not speak or recognize hackish slang.
  181.  
  182.    Accordingly, this lexicon will try to be as precise as the facts of
  183. usage permit about the distinctions among three categories:
  184.  
  185.    * `slang': informal language from mainstream English or non-technical
  186.      subcultures (bikers, rock fans, surfers, etc).
  187.  
  188.    * `jargon': without qualifier, denotes informal `slangy' language
  189.      peculiar to or predominantly found among hackers -- the subject of
  190.      this lexicon.
  191.  
  192.    * `techspeak': the formal technical vocabulary of programming,
  193.      computer science, electronics, and other fields connected to
  194.      hacking.
  195.  
  196. This terminology will be consistently used throughout the remainder of
  197. this lexicon.
  198.  
  199.    The jargon/techspeak distinction is the delicate one.  A lot of
  200. techspeak originated as jargon, and there is a steady continuing uptake
  201. of jargon into techspeak.  On the other hand, a lot of jargon arises
  202. from overgeneralization of techspeak terms (there is more about this in
  203. the {Jargon Construction} section below).
  204.  
  205.    In general, we have considered techspeak any term that communicates
  206. primarily by a denotation well established in textbooks, technical
  207. dictionaries, or standards documents.
  208.  
  209.    A few obviously techspeak terms (names of operating systems,
  210. languages, or documents) are listed when they are tied to hacker
  211. folklore that isn't covered in formal sources, or sometimes to convey
  212. critical historical background necessary to understand other entries to
  213. which they are cross-referenced.  Some other techspeak senses of jargon
  214. words are listed in order to make the jargon senses clear; where the
  215. text does not specify that a straight technical sense is under
  216. discussion, these are marked with `[techspeak]' as an etymology.  Some
  217. entries have a primary sense marked this way, with subsequent jargon
  218. meanings explained in terms of it.
  219.  
  220.    We have also tried to indicate (where known) the apparent origins of
  221. terms.  The results are probably the least reliable information in the
  222. lexicon, for several reasons.  For one thing, it is well known that
  223. many hackish usages have been independently reinvented multiple times,
  224. even among the more obscure and intricate neologisms.  It often seems
  225. that the generative processes underlying hackish jargon formation have
  226. an internal logic so powerful as to create substantial parallelism
  227. across separate cultures and even in different languages!  For another,
  228. the networks tend to propagate innovations so quickly that `first use'
  229. is often impossible to pin down.  And, finally, compendia like this one
  230. alter what they observe by implicitly stamping cultural approval on
  231. terms and widening their use.
  232.  
  233.    Despite these problems, the organized collection of jargon-related
  234. oral history for the new compilations has enabled us to put to rest
  235. quite a number of folk etymologies, place credit where credit is due,
  236. and illuminate the early history of many important hackerisms such as
  237. {kluge}, {cruft}, and {foo}.  We believe specialist lexicographers will
  238. find many of the historical notes more than casually instructive.
  239.  
  240. :Revision History:
  241. ==================
  242.  
  243.    The original Jargon File was a collection of hacker jargon from
  244. technical cultures including the MIT AI Lab, the Stanford AI lab
  245. (SAIL), and others of the old ARPANET AI/LISP/PDP-10 communities
  246. including Bolt, Beranek and Newman (BBN), Carnegie-Mellon University
  247. (CMU), and Worcester Polytechnic Institute (WPI).
  248.  
  249.    The Jargon File (hereafter referred to as `jargon-1' or `the File')
  250. was begun by Raphael Finkel at Stanford in 1975.  From this time until
  251. the plug was finally pulled on the SAIL computer in 1991, the File was
  252. named AIWORD.RF[UP,DOC] there.  Some terms in it date back considerably
  253. earlier ({frob} and some senses of {moby}, for instance, go back to the
  254. Tech Model Railroad Club at MIT and are believed to date at least back
  255. to the early 1960s).  The revisions of jargon-1 were all unnumbered and
  256. may be collectively considered `Version 1'.
  257.  
  258.    In 1976, Mark Crispin, having seen an announcement about the File on
  259. the SAIL computer, {FTP}ed a copy of the File to MIT.  He noticed that
  260. it was hardly restricted to `AI words' and so stored the file on his
  261. directory as AI:MRC;SAIL JARGON.
  262.  
  263.    The file was quickly renamed JARGON > (the `>' caused versioning
  264. under ITS) as a flurry of enhancements were made by Mark Crispin and
  265. Guy L.  Steele Jr.  Unfortunately, amidst all this activity, nobody
  266. thought of correcting the term `jargon' to `slang' until the compendium
  267. had already become widely known as the Jargon File.
  268.  
  269.    Raphael Finkel dropped out of active participation shortly thereafter
  270. and Don Woods became the SAIL contact for the File (which was
  271. subsequently kept in duplicate at SAIL and MIT, with periodic
  272. resynchronizations).
  273.  
  274.    The File expanded by fits and starts until about 1983; Richard
  275. Stallman was prominent among the contributors, adding many MIT and
  276. ITS-related coinages.
  277.  
  278.    In Spring 1981, a hacker named Charles Spurgeon got a large chunk of
  279. the File published in Stewart Brand's "CoEvolution Quarterly" (issue
  280. 29, pages 26-35) with illustrations by Phil Wadler and Guy Steele
  281. (including a couple of the Crunchly cartoons).  This appears to have
  282. been the File's first paper publication.
  283.  
  284.    A late version of jargon-1, expanded with commentary for the mass
  285. market, was edited by Guy Steele into a book published in 1983 as "The
  286. Hacker's Dictionary" (Harper & Row CN 1082, ISBN 0-06-091082-8).  The
  287. other jargon-1 editors (Raphael Finkel, Don Woods, and Mark Crispin)
  288. contributed to this revision, as did Richard M. Stallman and Geoff
  289. Goodfellow.  This book (now out of print) is hereafter referred to as
  290. `Steele-1983' and those six as the Steele-1983 coauthors.
  291.  
  292.    Shortly after the publication of Steele-1983, the File effectively
  293. stopped growing and changing.  Originally, this was due to a desire to
  294. freeze the file temporarily to facilitate the production of
  295. Steele-1983, but external conditions caused the `temporary' freeze to
  296. become permanent.
  297.  
  298.    The AI Lab culture had been hit hard in the late 1970s by funding
  299. cuts and the resulting administrative decision to use vendor-supported
  300. hardware and software instead of homebrew whenever possible.  At MIT,
  301. most AI work had turned to dedicated LISP Machines.  At the same time,
  302. the commercialization of AI technology lured some of the AI Lab's best
  303. and brightest away to startups along the Route 128 strip in
  304. Massachusetts and out West in Silicon Valley.  The startups built LISP
  305. machines for MIT; the central MIT-AI computer became a {TWENEX} system
  306. rather than a host for the AI hackers' beloved {ITS}.
  307.  
  308.    The Stanford AI Lab had effectively ceased to exist by 1980, although
  309. the SAIL computer continued as a Computer Science Department resource
  310. until 1991.  Stanford became a major {TWENEX} site, at one point
  311. operating more than a dozen TOPS-20 systems; but by the mid-1980s most
  312. of the interesting software work was being done on the emerging BSD
  313. Unix standard.
  314.  
  315.    In April 1983, the PDP-10-centered cultures that had nourished the
  316. File were dealt a death-blow by the cancellation of the Jupiter project
  317. at Digital Equipment Corporation.  The File's compilers, already
  318. dispersed, moved on to other things.  Steele-1983 was partly a monument
  319. to what its authors thought was a dying tradition; no one involved
  320. realized at the time just how wide its influence was to be.
  321.  
  322.    By the mid-1980s the File's content was dated, but the legend that
  323. had grown up around it never quite died out.  The book, and softcopies
  324. obtained off the ARPANET, circulated even in cultures far removed from
  325. MIT and Stanford; the content exerted a strong and continuing influence
  326. on hacker language and humor.  Even as the advent of the microcomputer
  327. and other trends fueled a tremendous expansion of hackerdom, the File
  328. (and related materials such as the {Some AI Koans} in Appendix A) came
  329. to be seen as a sort of sacred epic, a hacker-culture Matter of Britain
  330. chronicling the heroic exploits of the Knights of the Lab.  The pace of
  331. change in hackerdom at large accelerated tremendously -- but the Jargon
  332. File, having passed from living document to icon, remained essentially
  333. untouched for seven years.
  334.  
  335.    This revision contains nearly the entire text of a late version of
  336. jargon-1 (a few obsolete PDP-10-related entries were dropped after
  337. careful consultation with the editors of Steele-1983).  It merges in
  338. about 80% of the Steele-1983 text, omitting some framing material and a
  339. very few entries introduced in Steele-1983 that are now also obsolete.
  340.  
  341.    This new version casts a wider net than the old Jargon File; its aim
  342. is to cover not just AI or PDP-10 hacker culture but all the technical
  343. computing cultures wherein the true hacker-nature is manifested.  More
  344. than half of the entries now derive from {Usenet} and represent jargon
  345. now current in the C and Unix communities, but special efforts have
  346. been made to collect jargon from other cultures including IBM PC
  347. programmers, Amiga fans, Mac enthusiasts, and even the IBM mainframe
  348. world.
  349.  
  350.    Eric S. Raymond <<esr@snark.thyrsus.com>> maintains the new File
  351. with assistance from Guy L. Steele Jr. <<gls@think.com>>; these are the
  352. persons primarily reflected in the File's editorial `we', though we
  353. take pleasure in acknowledging the special contribution of the other
  354. coauthors of Steele-1983.  Please email all additions, corrections, and
  355. correspondence relating to the Jargon File to <jargon@thyrsus.com>.
  356.  
  357.    (Warning: other email addresses appear in this file _but are not
  358. guaranteed to be correct_ later than the revision date on the first
  359. line.  _Don't_ email us if an attempt to reach your idol bounces -- we
  360. have no magic way of checking addresses or looking up people.)
  361.  
  362.    The 2.9.6 version became the main text of "The New Hacker's
  363. Dictionary", by Eric Raymond (ed.), MIT Press 1991, ISBN 0-262-68069-6.
  364.  
  365.    The 3.0.0 version was published in September 1993 as the second
  366. edition of "The New Hacker's Dictionary", again from MIT Press (ISBN
  367. 0-262-18154-1).
  368.  
  369.    If you want the book, you should be able to find it at any of the
  370. major bookstore chains.  Failing that, you can order by mail from
  371.  
  372.        The MIT Press     55 Hayward Street     Cambridge, MA 02142
  373.  
  374.    or order by phone at (800)-356-0343 or (617)-625-8481.
  375.  
  376.    The maintainers are committed to updating the on-line version of the
  377. Jargon File through and beyond paper publication, and will continue to
  378. make it available to archives and public-access sites as a trust of the
  379. hacker community.
  380.  
  381.    Here is a chronology of the high points in the recent on-line
  382. revisions:
  383.  
  384.    Version 2.1.1, Jun 12 1990: the Jargon File comes alive again after a
  385. seven-year hiatus.  Reorganization and massive additions were by Eric S.
  386. Raymond, approved by Guy Steele.  Many items of UNIX, C, USENET, and
  387. microcomputer-based jargon were added at that time.
  388.  
  389.    Version 2.9.6, Aug 16 1991: corresponds to reproduction copy for
  390. book.  This version had 18952 lines, 148629 words, 975551 characters,
  391. and 1702 entries.
  392.  
  393.    Version 2.9.8, Jan 01 1992: first public release since the book,
  394. including over fifty new entries and numerous corrections/additions to
  395. old ones.  Packaged with version 1.1 of vh(1) hypertext reader.  This
  396. version had 19509 lines, 153108 words, 1006023 characters, and 1760
  397. entries.
  398.  
  399.    Version 2.9.9, Apr 01 1992: folded in XEROX PARC lexicon.  This
  400. version had 20298 lines, 159651 words, 1048909 characters, and 1821
  401. entries.
  402.  
  403.    Version 2.9.10, Jul 01 1992: lots of new historical material.  This
  404. version had 21349 lines, 168330 words, 1106991 characters, and 1891
  405. entries.
  406.  
  407.    Version 2.9.11, Jan 01 1993: lots of new historical material.  This
  408. version had 21725 lines, 171169 words, 1125880 characters, and 1922
  409. entries.
  410.  
  411.    Version 2.9.12, May 10 1993: a few new entries & changes, marginal
  412. MUD/IRC slang and some borderline techspeak removed, all in preparation
  413. for 2nd Edition of TNHD.  This version had 22238 lines, 175114 words,
  414. 1152467 characters, and 1946 entries.
  415.  
  416.    Version 3.0.0, Jul 27 1993: manuscript freeze for 2nd edition of
  417. TNHD.  This version had 22548 lines, 177520 words, 1169372 characters,
  418. and 1961 entries.
  419.  
  420.    Version 3.1.0, Oct 15 1994: interim release to test WWW conversion.
  421. This version had 23197 lines, 181001 words, 1193818 characters, and
  422. 1990 entries.
  423.  
  424.    Version 3.2.0, Mar 15 1995: Spring 1995 update.  This version had
  425. 23822 lines, 185961 words, 1226358 characters, and 2031 entries.
  426.  
  427.    Version 3.3.0, Jan 20 1996: Winter 1996 update.  This version had
  428. 24055 lines, 187957 words, 1239604 characters, and 2045 entries.
  429.  
  430.    Version 3.3.1, Jan 25 1996: Copy-corrected improvement on 3.3.0
  431. shipped to MIT Press as a step towards TNHD III.  This version had
  432. 24147 lines, 188728 words, 1244554 characters, and 2050 entries.
  433.  
  434.    Version 3.3.2, Mar 20 1996: A number of new entries pursuant on
  435. 3.3.2.  This version had 24442 lines, 190867 words, 1262468 characters,
  436. and 2061 entries.
  437.  
  438.    Version 3.3.3, Mar 25 1996: Cleanup before TNHD III manuscript
  439. freeze.  This version had 24584 lines, 191932 words, 1269996
  440. characters, and 2064 entries.
  441.  
  442.    Version 4.0.0, Jul 25 1996: The actual TNHD III version after
  443. copy-edit.  This version had 24801 lines, 193697 words, 1281402
  444. characters, and 2067 entries.
  445.  
  446.    Version 4.1.0, 8 Apr 1999: The Jargon File rides again after three
  447. years.  This version had 25777 lines, 206825 words, 1359992 characters,
  448. and 2217 entries.
  449.  
  450.    Version 4.1.1, 18 Apr 1999: Corrections for minor errors in 4.1.0,
  451. and some new entries. This version had 25921 lines, 208483 words,
  452. 1371279 characters, and 2225 entries.
  453.  
  454.    Version 4.1.2, 28 Apr 1999: Moving texi2html out of the production
  455. path.  This version had 26006 lines, 209479 words, 1377687 characters,
  456. and 2225 entries.
  457.  
  458.    Version numbering: Version numbers should be read as
  459. major.minor.revision.  Major version 1 is reserved for the `old' (ITS)
  460. Jargon File, jargon-1.  Major version 2 encompasses revisions by ESR
  461. (Eric S. Raymond) with assistance from GLS (Guy L.  Steele, Jr.)
  462. leading up to and including the second paper edition.  From now on,
  463. major version number N.00 will probably correspond to the Nth paper
  464. edition.  Usually later versions will either completely supersede or
  465. incorporate earlier versions, so there is generally no point in keeping
  466. old versions around.
  467.  
  468.    Our thanks to the coauthors of Steele-1983 for oversight and
  469. assistance, and to the hundreds of Usenetters (too many to name here)
  470. who contributed entries and encouragement.  More thanks go to several
  471. of the old-timers on the Usenet group alt.folklore.computers, who
  472. contributed much useful commentary and many corrections and valuable
  473. historical perspective: Joseph M. Newcomer <<jn11+@andrew.cmu.edu>>,
  474. Bernie Cosell <<cosell@bbn.com>>, Earl Boebert <<boebert@SCTC.com>>, and
  475. Joe Morris <<jcmorris@mwunix.mitre.org>>.
  476.  
  477.    We were fortunate enough to have the aid of some accomplished
  478. linguists.  David Stampe <<stampe@hawaii.edu>> and Charles Hoequist
  479. <<hoequist@bnr.ca>> contributed valuable criticism; Joe Keane
  480. <<jgk@osc.osc.com>> helped us improve the pronunciation guides.
  481.  
  482.    A few bits of this text quote previous works.  We are indebted to
  483. Brian A. LaMacchia <<bal@zurich.ai.mit.edu>> for obtaining permission
  484. for us to use material from the "TMRC Dictionary"; also, Don Libes
  485. <<libes@cme.nist.gov>> contributed some appropriate material from his
  486. excellent book "Life With UNIX".  We thank Per Lindberg
  487. <<per@front.se>>, author of the remarkable Swedish-language 'zine
  488. "Hackerbladet", for bringing "FOO!" comics to our attention and
  489. smuggling one of the IBM hacker underground's own baby jargon files out
  490. to us.  Thanks also to Maarten Litmaath for generously allowing the
  491. inclusion of the ASCII pronunciation guide he formerly maintained.  And
  492. our gratitude to Marc Weiser of XEROX PARC
  493. <<Marc_Weiser.PARC@xerox.com>> for securing us permission to quote from
  494. PARC's own jargon lexicon and shipping us a copy.
  495.  
  496.    It is a particular pleasure to acknowledge the major contributions of
  497. Mark Brader <<msb@sq.com>> and Steve Summit <<scs@eskimo.com>> to the
  498. File and Dictionary; they have read and reread many drafts, checked
  499. facts, caught typos, submitted an amazing number of thoughtful
  500. comments, and done yeoman service in catching typos and minor usage
  501. bobbles.  Their rare combination of enthusiasm, persistence,
  502. wide-ranging technical knowledge, and precisionism in matters of
  503. language has been of invaluable help.  Indeed, the sustained volume and
  504. quality of Mr. Brader's input over several years and several different
  505. editions has only allowed him to escape co-editor credit by the
  506. slimmest of margins.
  507.  
  508.    Finally, George V. Reilly <<georgere@microsoft.com>> helped with TeX
  509. arcana and painstakingly proofread some 2.7 and 2.8 versions, and Eric
  510. Tiedemann <<est@thyrsus.com>> contributed sage advice throughout on
  511. rhetoric, amphigory, and philosophunculism.
  512.  
  513. :How Jargon Works:
  514. ******************
  515.  
  516. :Jargon Construction:
  517. =====================
  518.  
  519.    There are some standard methods of jargonification that became
  520. established quite early (i.e., before 1970), spreading from such
  521. sources as the Tech Model Railroad Club, the PDP-1 SPACEWAR hackers,
  522. and John McCarthy's original crew of LISPers.  These include verb
  523. doubling, soundalike slang, the `-P' convention, overgeneralization,
  524. spoken inarticulations, and anthropomorphization.  Each is discussed
  525. below.  We also cover the standard comparatives for design quality.
  526.  
  527.    Of these six, verb doubling, overgeneralization,
  528. anthropomorphization, and (especially) spoken inarticulations have
  529. become quite general; but soundalike slang is still largely confined to
  530. MIT and other large universities, and the `-P' convention is found only
  531. where LISPers flourish.
  532.  
  533. :Verb Doubling:
  534. ---------------
  535.  
  536.    A standard construction in English is to double a verb and use it as
  537. an exclamation, such as "Bang, bang!" or "Quack, quack!".  Most of
  538. these are names for noises.  Hackers also double verbs as a concise,
  539. sometimes sarcastic comment on what the implied subject does.  Also, a
  540. doubled verb is often used to terminate a conversation, in the process
  541. remarking on the current state of affairs or what the speaker intends
  542. to do next.  Typical examples involve {win}, {lose}, {hack}, {flame},
  543. {barf}, {chomp}:
  544.  
  545.      "The disk heads just crashed."  "Lose, lose."
  546.      "Mostly he talked about his latest crock.  Flame, flame."
  547.      "Boy, what a bagbiter!  Chomp, chomp!"
  548.  
  549.    Some verb-doubled constructions have special meanings not immediately
  550. obvious from the verb.  These have their own listings in the lexicon.
  551.  
  552.    The {Usenet} culture has one _tripling_ convention unrelated to
  553. this; the names of `joke' topic groups often have a tripled last
  554. element.  The first and paradigmatic example was
  555. alt.swedish.chef.bork.bork.bork (a "Muppet Show" reference); other
  556. infamous examples have included:
  557.  
  558.      alt.french.captain.borg.borg.borg
  559.      alt.wesley.crusher.die.die.die
  560.      comp.unix.internals.system.calls.brk.brk.brk
  561.      sci.physics.edward.teller.boom.boom.boom
  562.      alt.sadistic.dentists.drill.drill.drill
  563.  
  564. :Soundalike slang:
  565. ------------------
  566.  
  567.    Hackers will often make rhymes or puns in order to convert an
  568. ordinary word or phrase into something more interesting.  It is
  569. considered particularly {flavorful} if the phrase is bent so as to
  570. include some other jargon word; thus the computer hobbyist magazine
  571. "Dr. Dobb's Journal" is almost always referred to among hackers as `Dr.
  572. Frob's Journal' or simply `Dr. Frob's'.  Terms of this kind that have
  573. been in fairly wide use include names for newspapers:
  574.  
  575.          Boston Herald => Horrid (or Harried)
  576.          Boston Globe => Boston Glob
  577.          Houston (or San Francisco) Chronicle
  578.                 => the Crocknicle (or the Comical)
  579.          New York Times => New York Slime
  580.          Wall Street Journal => Wall Street Urinal
  581.  
  582.    However, terms like these are often made up on the spur of the
  583. moment.  Standard examples include:
  584.  
  585.          Data General => Dirty Genitals
  586.          IBM 360 => IBM Three-Sickly
  587.          Government Property --- Do Not Duplicate (on keys)
  588.                  => Government Duplicity --- Do Not Propagate
  589.          for historical reasons => for hysterical raisins
  590.          Margaret Jacks Hall (the CS building at Stanford)
  591.                  => Marginal Hacks Hall
  592.          Microsoft => Microsloth
  593.          Internet Explorer => Internet Exploiter
  594.  
  595.    This is not really similar to the Cockney rhyming slang it has been
  596. compared to in the past, because Cockney substitutions are opaque
  597. whereas hacker punning jargon is intentionally transparent.
  598.  
  599. :The `-P' convention:
  600. ---------------------
  601.  
  602.    Turning a word into a question by appending the syllable `P'; from
  603. the LISP convention of appending the letter `P' to denote a predicate
  604. (a boolean-valued function).  The question should expect a yes/no
  605. answer, though it needn't.  (See {T} and {NIL}.)
  606.  
  607.          At dinnertime:
  608.  
  609.      Q: ``Foodp?''
  610.  
  611.      A: ``Yeah, I'm pretty hungry.'' or ``T!''
  612.  
  613.      At any time:
  614.  
  615.      Q: ``State-of-the-world-P?''
  616.  
  617.      A: (Straight) ``I'm about to go home.''
  618.  
  619.      A: (Humorous) ``Yes, the world has a state.''
  620.  
  621.      On the phone to Florida:
  622.  
  623.      Q: ``State-p Florida?''
  624.  
  625.      A: ``Been reading JARGON.TXT again, eh?''
  626.  
  627.    [One of the best of these is a {Gosperism}.  Once, when we were at a
  628. Chinese restaurant, Bill Gosper wanted to know whether someone would
  629. like to share with him a two-person-sized bowl of soup.  His inquiry
  630. was: "Split-p soup?" -- GLS]
  631.  
  632. :Overgeneralization:
  633. --------------------
  634.  
  635.    A very conspicuous feature of jargon is the frequency with which
  636. techspeak items such as names of program tools, command language
  637. primitives, and even assembler opcodes are applied to contexts outside
  638. of computing wherever hackers find amusing analogies to them.  Thus (to
  639. cite one of the best-known examples) Unix hackers often {grep} for
  640. things rather than searching for them.  Many of the lexicon entries are
  641. generalizations of exactly this kind.
  642.  
  643.    Hackers enjoy overgeneralization on the grammatical level as well.
  644. Many hackers love to take various words and add the wrong endings to
  645. them to make nouns and verbs, often by extending a standard rule to
  646. nonuniform cases (or vice versa).  For example, because
  647.  
  648.      porous => porosity
  649.      generous => generosity
  650.  
  651. hackers happily generalize:
  652.  
  653.      mysterious => mysteriosity
  654.      ferrous => ferrosity
  655.      obvious => obviosity
  656.      dubious => dubiosity
  657.  
  658.    Another class of common construction uses the suffix `-itude' to
  659. abstract a quality from just about any adjective or noun.  This usage
  660. arises especially in cases where mainstream English would perform the
  661. same abstraction through `-iness' or `-ingness'.  Thus:
  662.  
  663.      win => winnitude (a common exclamation)
  664.      loss => lossitude
  665.      cruft => cruftitude
  666.      lame => lameitude
  667.  
  668.    Some hackers cheerfully reverse this transformation; they argue, for
  669. example, that the horizontal degree lines on a globe ought to be called
  670. `lats' -- after all, they're measuring latitude!
  671.  
  672.    Also, note that all nouns can be verbed.  E.g.: "All nouns can be
  673. verbed", "I'll mouse it up", "Hang on while I clipboard it over", "I'm
  674. grepping the files".  English as a whole is already heading in this
  675. direction (towards pure-positional grammar like Chinese); hackers are
  676. simply a bit ahead of the curve.
  677.  
  678.    The suffix "-full" can also be applied in generalized and fanciful
  679. ways, as in "As soon as you have more than one cachefull of data, the
  680. system starts thrashing," or "As soon as I have more than one headfull
  681. of ideas, I start writing it all down." A common use is "screenfull",
  682. meaning the amount of text that will fit on one screen, usually in text
  683. mode where you have no choice as to character size. Another common form
  684. is "bufferfull".
  685.  
  686.    However, hackers avoid the unimaginative verb-making techniques
  687. characteristic of marketroids, bean-counters, and the Pentagon; a
  688. hacker would never, for example, `productize', `prioritize', or
  689. `securitize' things.  Hackers have a strong aversion to bureaucratic
  690. bafflegab and regard those who use it with contempt.
  691.  
  692.    Similarly, all verbs can be nouned.  This is only a slight
  693. overgeneralization in modern English; in hackish, however, it is good
  694. form to mark them in some standard nonstandard way.  Thus:
  695.  
  696.      win => winnitude, winnage
  697.      disgust => disgustitude
  698.      hack => hackification
  699.  
  700.    Further, note the prevalence of certain kinds of nonstandard plural
  701. forms.  Some of these go back quite a ways; the TMRC Dictionary
  702. includes an entry which implies that the plural of `mouse' is {meeces},
  703. and notes that the defined plural of `caboose' is `cabeese'.  This
  704. latter has apparently been standard (or at least a standard joke) among
  705. railfans (railroad enthusiasts) for many years.
  706.  
  707.    On a similarly Anglo-Saxon note, almost anything ending in `x' may
  708. form plurals in `-xen' (see {VAXen} and {boxen} in the main text).
  709. Even words ending in phonetic k alone are sometimes treated this way;
  710. e.g., `soxen' for a bunch of socks.  Other funny plurals are
  711. `frobbotzim' for the plural of `frobbozz' (see {frobnitz}) and `Unices'
  712. and `Twenices' (rather than `Unixes' and `Twenexes'; see {Unix},
  713. {TWENEX} in main text).  But note that `Unixen' and `Twenexen' are
  714. never used; it has been suggested that this is because `-ix' and `-ex'
  715. are Latin singular endings that attract a Latinate plural.  Finally, it
  716. has been suggested to general approval that the plural of `mongoose'
  717. ought to be `polygoose'.
  718.  
  719.    The pattern here, as with other hackish grammatical quirks, is
  720. generalization of an inflectional rule that in English is either an
  721. import or a fossil (such as the Hebrew plural ending `-im', or the
  722. Anglo-Saxon plural suffix `-en') to cases where it isn't normally
  723. considered to apply.
  724.  
  725.    This is not `poor grammar', as hackers are generally quite well
  726. aware of what they are doing when they distort the language.  It is
  727. grammatical creativity, a form of playfulness.  It is done not to
  728. impress but to amuse, and never at the expense of clarity.
  729.  
  730. :Spoken inarticulations:
  731. ------------------------
  732.  
  733.    Words such as `mumble', `sigh', and `groan' are spoken in places
  734. where their referent might more naturally be used.  It has been
  735. suggested that this usage derives from the impossibility of
  736. representing such noises on a comm link or in electronic mail, MUDs,
  737. and IRC channels (interestingly, the same sorts of constructions have
  738. been showing up with increasing frequency in comic strips).  Another
  739. expression sometimes heard is "Complain!", meaning "I have a complaint!"
  740.  
  741. :Anthropomorphization:
  742. ----------------------
  743.  
  744.    Semantically, one rich source of jargon constructions is the hackish
  745. tendency to anthropomorphize hardware and software.  This isn't done in
  746. a naive way; hackers don't personalize their stuff in the sense of
  747. feeling empathy with it, nor do they mystically believe that the things
  748. they work on every day are `alive'.  What _is_ common is to hear
  749. hardware or software talked about as though it has homunculi talking to
  750. each other inside it, with intentions and desires.  Thus, one hears
  751. "The protocol handler got confused", or that programs "are trying" to
  752. do things, or one may say of a routine that "its goal in life is to X".
  753. One even hears explanations like "...  and its poor little brain
  754. couldn't understand X, and it died."  Sometimes modelling things this
  755. way actually seems to make them easier to understand, perhaps because
  756. it's instinctively natural to think of anything with a really complex
  757. behavioral repertoire as `like a person' rather than `like a thing'.
  758.  
  759. :Comparatives:
  760. --------------
  761.  
  762.    Finally, note that many words in hacker jargon have to be understood
  763. as members of sets of comparatives.  This is especially true of the
  764. adjectives and nouns used to describe the beauty and functional quality
  765. of code.  Here is an approximately correct spectrum:
  766.  
  767.      monstrosity  brain-damage  screw  bug  lose  misfeature
  768.      crock  kluge  hack  win  feature  elegance  perfection
  769.  
  770.    The last is spoken of as a mythical absolute, approximated but never
  771. actually attained.  Another similar scale is used for describing the
  772. reliability of software:
  773.  
  774.      broken  flaky  dodgy  fragile  brittle
  775.      solid  robust  bulletproof  armor-plated
  776.  
  777.    Note, however, that `dodgy' is primarily Commonwealth Hackish (it is
  778. rare in the U.S.) and may change places with `flaky' for some speakers.
  779.  
  780.    Coinages for describing {lossage} seem to call forth the very finest
  781. in hackish linguistic inventiveness; it has been truly said that
  782. hackers have even more words for equipment failures than Yiddish has
  783. for obnoxious people.
  784.  
  785. :Hacker Writing Style:
  786. ======================
  787.  
  788.    We've already seen that hackers often coin jargon by overgeneralizing
  789. grammatical rules.  This is one aspect of a more general fondness for
  790. form-versus-content language jokes that shows up particularly in
  791. hackish writing.  One correspondent reports that he consistently
  792. misspells `wrong' as `worng'.  Others have been known to criticize
  793. glitches in Jargon File drafts by observing (in the mode of Douglas
  794. Hofstadter) "This sentence no verb", or "Too repetetetive", or "Bad
  795. speling", or "Incorrectspa cing."  Similarly, intentional spoonerisms
  796. are often made of phrases relating to confusion or things that are
  797. confusing; `dain bramage' for `brain damage' is perhaps the most common
  798. (similarly, a hacker would be likely to write "Excuse me, I'm cixelsyd
  799. today", rather than "I'm dyslexic today").  This sort of thing is quite
  800. common and is enjoyed by all concerned.
  801.  
  802.    Hackers tend to use quotes as balanced delimiters like parentheses,
  803. much to the dismay of American editors.  Thus, if "Jim is going" is a
  804. phrase, and so are "Bill runs" and "Spock groks", then hackers
  805. generally prefer to write: "Jim is going", "Bill runs", and "Spock
  806. groks".  This is incorrect according to standard American usage (which
  807. would put the continuation commas and the final period inside the
  808. string quotes); however, it is counter-intuitive to hackers to mutilate
  809. literal strings with characters that don't belong in them.  Given the
  810. sorts of examples that can come up in discussions of programming,
  811. American-style quoting can even be grossly misleading.  When
  812. communicating command lines or small pieces of code, extra characters
  813. can be a real pain in the neck.
  814.  
  815.    Consider, for example, a sentence in a {vi} tutorial that looks like
  816. this:
  817.  
  818.      Then delete a line from the file by typing "dd".
  819.  
  820.    Standard usage would make this
  821.  
  822.      Then delete a line from the file by typing "dd."
  823.  
  824.    but that would be very bad -- because the reader would be prone to
  825. type the string d-d-dot, and it happens that in `vi(1)' dot repeats the
  826. last command accepted.  The net result would be to delete _two_ lines!
  827.  
  828.    The Jargon File follows hackish usage throughout.
  829.  
  830.    Interestingly, a similar style is now preferred practice in Great
  831. Britain, though the older style (which became established for
  832. typographical reasons having to do with the aesthetics of comma and
  833. quotes in typeset text) is still accepted there.  "Hart's Rules" and
  834. the "Oxford Dictionary for Writers and Editors" call the hacker-like
  835. style `new' or `logical' quoting.
  836.  
  837.    Another hacker habit is a tendency to distinguish between `scare'
  838. quotes and `speech' quotes; that is, to use British-style single quotes
  839. for marking and reserve American-style double quotes for actual reports
  840. of speech or text included from elsewhere.  Interestingly, some
  841. authorities describe this as correct general usage, but mainstream
  842. American English has gone to using double-quotes indiscriminately
  843. enough that hacker usage appears marked [and, in fact, I thought this
  844. was a personal quirk of mine until I checked with Usenet --ESR].  One
  845. further permutation that is definitely _not_ standard is a hackish
  846. tendency to do marking quotes by using apostrophes (single quotes) in
  847. pairs; that is, 'like this'.  This is modelled on string and character
  848. literal syntax in some programming languages (reinforced by the fact
  849. that many character-only terminals display the apostrophe in typewriter
  850. style, as a vertical single quote).
  851.  
  852.    One quirk that shows up frequently in the {email} style of Unix
  853. hackers in particular is a tendency for some things that are normally
  854. all-lowercase (including usernames and the names of commands and C
  855. routines) to remain uncapitalized even when they occur at the beginning
  856. of sentences.  It is clear that, for many hackers, the case of such
  857. identifiers becomes a part of their internal representation (the
  858. `spelling') and cannot be overridden without mental effort (an
  859. appropriate reflex because Unix and C both distinguish cases and
  860. confusing them can lead to {lossage}).  A way of escaping this dilemma
  861. is simply to avoid using these constructions at the beginning of
  862. sentences.
  863.  
  864.    There seems to be a meta-rule behind these nonstandard hackerisms to
  865. the effect that precision of expression is more important than
  866. conformance to traditional rules; where the latter create ambiguity or
  867. lose information they can be discarded without a second thought.  It is
  868. notable in this respect that other hackish inventions (for example, in
  869. vocabulary) also tend to carry very precise shades of meaning even when
  870. constructed to appear slangy and loose.  In fact, to a hacker, the
  871. contrast between `loose' form and `tight' content in jargon is a
  872. substantial part of its humor!
  873.  
  874.    Hackers have also developed a number of punctuation and emphasis
  875. conventions adapted to single-font all-ASCII communications links, and
  876. these are occasionally carried over into written documents even when
  877. normal means of font changes, underlining, and the like are available.
  878.  
  879.    One of these is that TEXT IN ALL CAPS IS INTERPRETED AS `LOUD', and
  880. this becomes such an ingrained synesthetic reflex that a person who
  881. goes to caps-lock while in {talk mode} may be asked to "stop shouting,
  882. please, you're hurting my ears!".
  883.  
  884.    Also, it is common to use bracketing with unusual characters to
  885. signify emphasis.  The asterisk is most common, as in "What the
  886. *hell*?" even though this interferes with the common use of the
  887. asterisk suffix as a footnote mark.  The underscore is also common,
  888. suggesting underlining (this is particularly common with book titles;
  889. for example, "It is often alleged that Joe Haldeman wrote
  890. _The_Forever_War_ as a rebuttal to Robert Heinlein's earlier novel of
  891. the future military, _Starship_Troopers_.").  Other forms exemplified
  892. by "=hell=", "\hell/", or "/hell/" are occasionally seen (it's claimed
  893. that in the last example the first slash pushes the letters over to the
  894. right to make them italic, and the second keeps them from falling
  895. over).  On FidoNet, you might see #bright# and ^dark^ text, which was
  896. actually interpreted by some reader software.  Finally, words may also
  897. be emphasized L I K E T H I S, or by a series of carets (^) under them
  898. on the next line of the text.
  899.  
  900.    There is a semantic difference between *emphasis like this* (which
  901. emphasizes the phrase as a whole), and *emphasis* *like* *this* (which
  902. suggests the writer speaking very slowly and distinctly, as if to a
  903. very young child or a mentally impaired person).  Bracketing a word with
  904. the `*' character may also indicate that the writer wishes readers to
  905. consider that an action is taking place or that a sound is being made.
  906. Examples: *bang*, *hic*, *ring*, *grin*, *kick*, *stomp*, *mumble*.
  907.  
  908.    One might also see the above sound effects as <bang>, <hic>, <ring>,
  909. <grin>, <kick>, <stomp>, <mumble>.  This use of angle brackets to mark
  910. their contents originally derives from conventions used in {BNF}, but
  911. since about 1993 it has been reinforced by the HTML markup used on the
  912. World Wide Web.
  913.  
  914.    Angle-bracket enclosure is also used to indicate that a term stands
  915. for some {random} member of a larger class (this is straight from
  916. {BNF}). Examples like the following are common:
  917.  
  918.      So this <ethnic> walks into a bar one day...
  919.  
  920.    There is also an accepted convention for `writing under erasure'; the
  921. text
  922.  
  923.      Be nice to this fool^H^H^H^Hgentleman,
  924.      he's visiting from corporate HQ.
  925.  
  926. reads roughly as "Be nice to this fool, er, gentleman...".  This comes
  927. from the fact that the digraph ^H is often used as a print
  928. representation for a backspace.  It parallels (and may have been
  929. influenced by) the ironic use of `slashouts' in science-fiction
  930. fanzines.
  931.  
  932.    A related habit uses editor commands to signify corrections to
  933. previous text.  This custom is fading as more mailers get good editing
  934. capabilities, but one occasionally still sees things like this:
  935.  
  936.      I've seen that term used on alt.foobar often.
  937.      Send it to Erik for the File.
  938.      Oops...s/Erik/Eric/.
  939.  
  940.    The s/Erik/Eric/ says "change Erik to Eric in the preceding".  This
  941. syntax is borrowed from the Unix editing tools `ed' and `sed', but is
  942. widely recognized by non-Unix hackers as well.
  943.  
  944.    In a formula, `*' signifies multiplication but two asterisks in a
  945. row are a shorthand for exponentiation (this derives from FORTRAN).
  946. Thus, one might write 2 ** 8 = 256.
  947.  
  948.    Another notation for exponentiation one sees more frequently uses the
  949. caret (^, ASCII 1011110); one might write instead `2^8 = 256'.  This
  950. goes all the way back to Algol-60, which used the archaic ASCII
  951. `up-arrow' that later became the caret; this was picked up by Kemeny
  952. and Kurtz's original BASIC, which in turn influenced the design of the
  953. `bc(1)' and `dc(1)' Unix tools, which have probably done most to
  954. reinforce the convention on Usenet. (TeX math mode also uses ^ for
  955. exponention.) The notation is mildly confusing to C programmers,
  956. because `^' means bitwise exclusive-or in C.  Despite this, it was
  957. favored 3:1 over ** in a late-1990 snapshot of Usenet.  It is used
  958. consistently in this lexicon.
  959.  
  960.    In on-line exchanges, hackers tend to use decimal forms or improper
  961. fractions (`3.5' or `7/2') rather than `typewriter style' mixed
  962. fractions (`3-1/2').  The major motive here is probably that the former
  963. are more readable in a monospaced font, together with a desire to avoid
  964. the risk that the latter might be read as `three minus one-half'.  The
  965. decimal form is definitely preferred for fractions with a terminating
  966. decimal representation; there may be some cultural influence here from
  967. the high status of scientific notation.
  968.  
  969.    Another on-line convention, used especially for very large or very
  970. small numbers, is taken from C (which derived it from FORTRAN).  This
  971. is a form of `scientific notation' using `e' to replace `*10^'; for
  972. example, one year is about 3e7 seconds long.
  973.  
  974.    The tilde (~) is commonly used in a quantifying sense of
  975. `approximately'; that is, `~50' means `about fifty'.
  976.  
  977.    On Usenet and in the {MUD} world, common C boolean, logical, and
  978. relational operators such as `|', `&', `||', `&&', `!', `==', `!=',
  979. `>', `<', `>=', and `=<' are often combined with English.  The Pascal
  980. not-equals, `<>', is also recognized, and occasionally one sees `/=' for
  981. not-equals (from Ada, Common Lisp, and Fortran 90).  The use of prefix
  982. `!' as a loose synonym for `not-' or `no-' is particularly common;
  983. thus, `!clue' is read `no-clue' or `clueless'.
  984.  
  985.    A related practice borrows syntax from preferred programming
  986. languages to express ideas in a natural-language text.  For example,
  987. one might see the following:
  988.  
  989.      In <jrh578689@thudpucker.com> J. R. Hacker wrote:
  990.      >I recently had occasion to field-test the Snafu
  991.      >Systems 2300E adaptive gonkulator.  The price was
  992.      >right, and the racing stripe on the case looked
  993.      >kind of neat, but its performance left something
  994.      >to be desired.
  995.  
  996.      Yeah, I tried one out too.
  997.  
  998.      #ifdef FLAME
  999.      Hasn't anyone told those idiots that you can't get
  1000.      decent bogon suppression with AFJ filters at today's
  1001.      net volumes?
  1002.      #endif /* FLAME */
  1003.  
  1004.      I guess they figured the price premium for true
  1005.      frame-based semantic analysis was too high.
  1006.      Unfortunately, it's also the only workable approach.
  1007.      I wouldn't recommend purchase of this product unless
  1008.      you're on a *very* tight budget.
  1009.  
  1010.      #include <disclaimer.h>
  1011.      --
  1012.                       == Frank Foonly (Fubarco Systems)
  1013.  
  1014.    In the above, the `#ifdef'/`#endif' pair is a conditional
  1015. compilation syntax from C; here, it implies that the text between
  1016. (which is a {flame}) should be evaluated only if you have turned on (or
  1017. defined on) the switch FLAME.  The `#include' at the end is C for
  1018. "include standard disclaimer here"; the `standard disclaimer' is
  1019. understood to read, roughly, "These are my personal opinions and not to
  1020. be construed as the official position of my employer."
  1021.  
  1022.    The top section in the example, with > at the left margin, is an
  1023. example of an inclusion convention we'll discuss below.
  1024.  
  1025.    More recently, following on the huge popularity of the World Wide
  1026. Web, pseudo-HTML markup has become popular for similar purposes:
  1027.  
  1028.      <flame>
  1029.      Your father was a hamster and your mother smelt of elderberries!
  1030.      </flame>
  1031.  
  1032.    You'll even see this with an HTML-style modifier:
  1033.  
  1034.      <flame intensity="100%">
  1035.      You seem well-suited for a career in government.
  1036.      </flame>
  1037.  
  1038.    Hackers also mix letters and numbers more freely than in mainstream
  1039. usage.  In particular, it is good hackish style to write a digit
  1040. sequence where you intend the reader to understand the text string that
  1041. names that number in English.  So, hackers prefer to write `1970s'
  1042. rather than `nineteen-seventies' or `1970's' (the latter looks like a
  1043. possessive).
  1044.  
  1045.    It should also be noted that hackers exhibit much less reluctance to
  1046. use multiply nested parentheses than is normal in English.  Part of
  1047. this is almost certainly due to influence from LISP (which uses deeply
  1048. nested parentheses (like this (see?)) in its syntax a lot), but it has
  1049. also been suggested that a more basic hacker trait of enjoying playing
  1050. with complexity and pushing systems to their limits is in operation.
  1051.  
  1052.    Finally, it is worth mentioning that many studies of on-line
  1053. communication have shown that electronic links have a de-inhibiting
  1054. effect on people.  Deprived of the body-language cues through which
  1055. emotional state is expressed, people tend to forget everything about
  1056. other parties except what is presented over that ASCII link.  This has
  1057. both good and bad effects.  A good one is that it encourages honesty
  1058. and tends to break down hierarchical authority relationships; a bad one
  1059. is that it may encourage depersonalization and gratuitous rudeness.
  1060. Perhaps in response to this, experienced netters often display a sort
  1061. of conscious formal politesse in their writing that has passed out of
  1062. fashion in other spoken and written media (for example, the phrase
  1063. "Well said, sir!" is not uncommon).
  1064.  
  1065.    Many introverted hackers who are next to inarticulate in person
  1066. communicate with considerable fluency over the net, perhaps precisely
  1067. because they can forget on an unconscious level that they are dealing
  1068. with people and thus don't feel stressed and anxious as they would face
  1069. to face.
  1070.  
  1071.    Though it is considered gauche to publicly criticize posters for poor
  1072. spelling or grammar, the network places a premium on literacy and
  1073. clarity of expression.  It may well be that future historians of
  1074. literature will see in it a revival of the great tradition of personal
  1075. letters as art.
  1076.  
  1077. :Email Quotes and Inclusion Conventions:
  1078. ========================================
  1079.  
  1080.    One area where conventions for on-line writing are still in some flux
  1081. is the marking of included material from earlier messages -- what would
  1082. be called `block quotations' in ordinary English.  From the usual
  1083. typographic convention employed for these (smaller font at an extra
  1084. indent), there derived a practice of included text being indented by
  1085. one ASCII TAB (0001001) character, which under Unix and many other
  1086. environments gives the appearance of an 8-space indent.
  1087.  
  1088.    Early mail and netnews readers had no facility for including messages
  1089. this way, so people had to paste in copy manually.  BSD `Mail(1)' was
  1090. the first message agent to support inclusion, and early Usenetters
  1091. emulated its style.  But the TAB character tended to push included text
  1092. too far to the right (especially in multiply nested inclusions),
  1093. leading to ugly wraparounds.  After a brief period of confusion (during
  1094. which an inclusion leader consisting of three or four spaces became
  1095. established in EMACS and a few mailers), the use of leading `>' or `> '
  1096. became standard, perhaps owing to its use in `ed(1)' to display tabs
  1097. (alternatively, it may derive from the `>' that some early Unix mailers
  1098. used to quote lines starting with "From" in text, so they wouldn't look
  1099. like the beginnings of new message headers).  Inclusions within
  1100. inclusions keep their `>' leaders, so the `nesting level' of a
  1101. quotation is visually apparent.
  1102.  
  1103.    The practice of including text from the parent article when posting a
  1104. followup helped solve what had been a major nuisance on Usenet: the
  1105. fact that articles do not arrive at different sites in the same order.
  1106. Careless posters used to post articles that would begin with, or even
  1107. consist entirely of, "No, that's wrong" or "I agree" or the like.  It
  1108. was hard to see who was responding to what.  Consequently, around 1984,
  1109. new news-posting software evolved a facility to automatically include
  1110. the text of a previous article, marked with "> " or whatever the poster
  1111. chose.  The poster was expected to delete all but the relevant lines.
  1112. The result has been that, now, careless posters post articles
  1113. containing the _entire_ text of a preceding article, _followed_ only by
  1114. "No, that's wrong" or "I agree".
  1115.  
  1116.    Many people feel that this cure is worse than the original disease,
  1117. and there soon appeared newsreader software designed to let the reader
  1118. skip over included text if desired.  Today, some posting software
  1119. rejects articles containing too high a proportion of lines beginning
  1120. with `>' -- but this too has led to undesirable workarounds, such as the
  1121. deliberate inclusion of zero-content filler lines which aren't quoted
  1122. and thus pull the message below the rejection threshold.
  1123.  
  1124.    Because the default mailers supplied with Unix and other operating
  1125. systems haven't evolved as quickly as human usage, the older
  1126. conventions using a leading TAB or three or four spaces are still
  1127. alive; however, >-inclusion is now clearly the prevalent form in both
  1128. netnews and mail.
  1129.  
  1130.    Inclusion practice is still evolving, and disputes over the
  1131. `correct' inclusion style occasionally lead to {holy wars}.
  1132.  
  1133.    Most netters view an inclusion as a promise that comment on it will
  1134. immediately follow.  The preferred, conversational style looks like
  1135. this,
  1136.  
  1137.           > relevant excerpt 1
  1138.           response to excerpt
  1139.           > relevant excerpt 2
  1140.           response to excerpt
  1141.           > relevant excerpt 3
  1142.           response to excerpt
  1143.  
  1144. or for short messages like this:
  1145.  
  1146.           > entire message
  1147.           response to message
  1148.  
  1149. Thanks to poor design of some PC-based mail agents, one will
  1150. occasionally see the entire quoted message _after_ the response, like
  1151. this
  1152.  
  1153.           response to message
  1154.           > entire message
  1155.  
  1156. but this practice is strongly deprecated.
  1157.  
  1158.    Though `>' remains the standard inclusion leader, `|' is
  1159. occasionally used for extended quotations where original variations in
  1160. indentation are being retained (one mailer even combines these and uses
  1161. `|>').  One also sees different styles of quoting a number of authors
  1162. in the same message: one (deprecated because it loses information) uses
  1163. a leader of `> ' for everyone, another (the most common) is `> > > > ',
  1164. `> > > ', etc. (or `>>>> ', `>>>', etc., depending on line length and
  1165. nesting depth) reflecting the original order of messages, and yet
  1166. another is to use a different citation leader for each author, say
  1167. `> ', `: ', `| ', `} ' (preserving nesting so that the inclusion order
  1168. of messages is still apparent, or tagging the inclusions with authors'
  1169. names).  Yet _another_ style is to use each poster's initials (or login
  1170. name) as a citation leader for that poster.
  1171.  
  1172.    Occasionally one sees a `# ' leader used for quotations from
  1173. authoritative sources such as standards documents; the intended
  1174. allusion is to the root prompt (the special Unix command prompt issued
  1175. when one is running as the privileged super-user).
  1176.  
  1177. :Hacker Speech Style:
  1178. =====================
  1179.  
  1180.    Hackish speech generally features extremely precise diction, careful
  1181. word choice, a relatively large working vocabulary, and relatively
  1182. little use of contractions or street slang.  Dry humor, irony, puns,
  1183. and a mildly flippant attitude are highly valued -- but an underlying
  1184. seriousness and intelligence are essential.  One should use just enough
  1185. jargon to communicate precisely and identify oneself as a member of the
  1186. culture; overuse of jargon or a breathless, excessively gung-ho
  1187. attitude is considered tacky and the mark of a loser.
  1188.  
  1189.    This speech style is a variety of the precisionist English normally
  1190. spoken by scientists, design engineers, and academics in technical
  1191. fields.  In contrast with the methods of jargon construction, it is
  1192. fairly constant throughout hackerdom.
  1193.  
  1194.    It has been observed that many hackers are confused by negative
  1195. questions -- or, at least, that the people to whom they are talking are
  1196. often confused by the sense of their answers.  The problem is that they
  1197. have done so much programming that distinguishes between
  1198.  
  1199.      if (going) ...
  1200.  
  1201. and
  1202.  
  1203.      if (!going) ...
  1204.  
  1205. that when they parse the question "Aren't you going?" it may seem to be
  1206. asking the opposite question from "Are you going?", and so to merit an
  1207. answer in the opposite sense.  This confuses English-speaking
  1208. non-hackers because they were taught to answer as though the negative
  1209. part weren't there.  In some other languages (including Russian,
  1210. Chinese, and Japanese) the hackish interpretation is standard and the
  1211. problem wouldn't arise.  Hackers often find themselves wishing for a
  1212. word like French `si', German `doch', or Dutch `jawel' - a word with
  1213. which one could unambiguously answer `yes' to a negative question.
  1214. (See also {mu})
  1215.  
  1216.    For similar reasons, English-speaking hackers almost never use double
  1217. negatives, even if they live in a region where colloquial usage allows
  1218. them.  The thought of uttering something that logically ought to be an
  1219. affirmative knowing it will be misparsed as a negative tends to disturb
  1220. them.
  1221.  
  1222.    In a related vein, hackers sometimes make a game of answering
  1223. questions containing logical connectives with a strictly literal rather
  1224. than colloquial interpretation.  A non-hacker who is indelicate enough
  1225. to ask a question like "So, are you working on finding that bug _now_
  1226. or leaving it until later?"  is likely to get the perfectly correct
  1227. answer "Yes!" (that is, "Yes, I'm doing it either now or later, and you
  1228. didn't ask which!").
  1229.  
  1230. :International Style:
  1231. =====================
  1232.  
  1233.    Although the Jargon File remains primarily a lexicon of hacker usage
  1234. in American English, we have made some effort to get input from abroad.
  1235. Though the hacker-speak of other languages often uses translations of
  1236. jargon from English (often as transmitted to them by earlier Jargon
  1237. File versions!), the local variations are interesting, and knowledge of
  1238. them may be of some use to travelling hackers.
  1239.  
  1240.    There are some references herein to `Commonwealth hackish'.  These
  1241. are intended to describe some variations in hacker usage as reported in
  1242. the English spoken in Great Britain and the Commonwealth (Canada,
  1243. Australia, India, etc. -- though Canada is heavily influenced by
  1244. American usage).  There is also an entry on {{Commonwealth Hackish}}
  1245. reporting some general phonetic and vocabulary differences from U.S.
  1246. hackish.
  1247.  
  1248.    Hackers in Western Europe and (especially) Scandinavia report that
  1249. they often use a mixture of English and their native languages for
  1250. technical conversation.  Occasionally they develop idioms in their
  1251. English usage that are influenced by their native-language styles.
  1252. Some of these are reported here.
  1253.  
  1254.    On the other hand, English often gives rise to grammatical and
  1255. vocabulary mutations in the native language.  For example, Italian
  1256. hackers often use the nonexistent verbs `scrollare' (to scroll) and
  1257. `deletare' (to delete) rather than native Italian `scorrere' and
  1258. `cancellare'.  Similarly, the English verb `to hack' has been seen
  1259. conjugated in Swedish.  And Spanish-speaking hackers use `linkar' (to
  1260. link), `debugear' (to debug), and `lockear' (to lock).
  1261.  
  1262.    European hackers report that this happens partly because the English
  1263. terms make finer distinctions than are available in their native
  1264. vocabularies, and partly because deliberate language-crossing makes for
  1265. amusing wordplay.
  1266.  
  1267.    A few notes on hackish usages in Russian have been added where they
  1268. are parallel with English idioms and thus comprehensible to
  1269. English-speakers.
  1270.  
  1271. :Crackers, Phreaks, and Lamers:
  1272. ===============================
  1273.  
  1274.    From the early 1980s onward, a flourishing culture of local,
  1275. MS-DOS-based bulletin boards has been developing separately from
  1276. Internet hackerdom.  The BBS culture has, as its seamy underside, a
  1277. stratum of `pirate boards' inhabited by {cracker}s, phone phreaks, and
  1278. {warez d00dz}.  These people (mostly teenagers running IBM-PC clones
  1279. from their bedrooms) have developed their own characteristic jargon,
  1280. heavily influenced by skateboard lingo and underground-rock slang.
  1281.  
  1282.    Though crackers often call themselves `hackers', they aren't (they
  1283. typically have neither significant programming ability, nor Internet
  1284. expertise, nor experience with UNIX or other true multi-user systems).
  1285. Their vocabulary has little overlap with hackerdom's.  Nevertheless,
  1286. this lexicon covers much of it so the reader will be able to understand
  1287. what goes by on bulletin-board systems.
  1288.  
  1289.    Here is a brief guide to cracker and {warez d00dz} usage:
  1290.  
  1291.    * Misspell frequently.  The substitutions
  1292.  
  1293.                phone => fone
  1294.                freak => phreak
  1295.  
  1296.      are obligatory.
  1297.  
  1298.    * Always substitute `z's for `s's.  (i.e. "codes" -> "codez").
  1299.  
  1300.    * Type random emphasis characters after a post line (i.e. "Hey
  1301.      Dudes!#!$#$!#!$").
  1302.  
  1303.    * Use the emphatic `k' prefix ("k-kool", "k-rad", "k-awesome")
  1304.      frequently.
  1305.  
  1306.    * Abbreviate compulsively ("I got lotsa warez w/ docs").
  1307.  
  1308.    * Substitute `0' for `o' ("r0dent", "l0zer").
  1309.  
  1310.    * TYPE ALL IN CAPS LOCK, SO IT LOOKS LIKE YOU'RE YELLING ALL THE
  1311.      TIME.
  1312.  
  1313.    These traits are similar to those of {B1FF}, who originated as a
  1314. parody of naive {BBS} users.  Occasionally, this sort of distortion may
  1315. be used as heavy sarcasm by a real hacker, as in:
  1316.  
  1317.          > I got X Windows running under Linux!
  1318.  
  1319.          d00d!  u R an '1337 hax0r
  1320.  
  1321.    The only practice resembling this in actual hacker usage is the
  1322. substitution of a dollar sign of `s' in names of products or service
  1323. felt to be excessively expensive, e.g. Compu$erve, Micro$oft.
  1324.  
  1325.    For further discussion of the pirate-board subculture, see {lamer},
  1326. {elite}, {leech}, {poser}, {cracker}, and especially {warez d00dz}.
  1327.  
  1328. :How to Use the Lexicon:
  1329. ************************
  1330.  
  1331. :Pronunciation Guide:
  1332. =====================
  1333.  
  1334.    Pronunciation keys are provided in the jargon listings for all
  1335. entries that are neither dictionary words pronounced as in standard
  1336. English nor obvious compounds thereof.  Slashes bracket phonetic
  1337. pronunciations, which are to be interpreted using the following
  1338. conventions:
  1339.  
  1340.   1. Syllables are hyphen-separated, except that an accent or
  1341.      back-accent follows each accented syllable (the back-accent marks
  1342.      a secondary accent in some words of four or more syllables).  If
  1343.      no accent is given, the word is pronounced with equal accentuation
  1344.      on all syllables (this is common for abbreviations).
  1345.  
  1346.   2. Consonants are pronounced as in American English.  The letter `g'
  1347.      is always hard (as in "got" rather than "giant"); `ch' is soft
  1348.      ("church" rather than "chemist").  The letter `j' is the sound
  1349.      that occurs twice in "judge".  The letter `s' is always as in
  1350.      "pass", never a z sound.  The digraph `kh' is the guttural of
  1351.      "loch" or "l'chaim".  The digraph 'gh' is the aspirated g+h of
  1352.      "bughouse" or "ragheap" (rare in English).
  1353.  
  1354.   3. Uppercase letters are pronounced as their English letter names;
  1355.      thus (for example) H-L-L is equivalent to aych el el.  Z may be
  1356.      pronounced zee or zed depending on your local dialect.
  1357.  
  1358.   4. Vowels are represented as follows:
  1359.  
  1360.     a
  1361.           back, that
  1362.  
  1363.     ah
  1364.           father, palm (see note)
  1365.  
  1366.     ar
  1367.           far, mark
  1368.  
  1369.     aw
  1370.           flaw, caught
  1371.  
  1372.     ay
  1373.           bake, rain
  1374.  
  1375.     e
  1376.           less, men
  1377.  
  1378.     ee
  1379.           easy, ski
  1380.  
  1381.     eir
  1382.           their, software
  1383.  
  1384.     i
  1385.           trip, hit
  1386.  
  1387.     i:
  1388.           life, sky
  1389.  
  1390.     o
  1391.           block, stock (see note)
  1392.  
  1393.     oh
  1394.           flow, sew
  1395.  
  1396.     oo
  1397.           loot, through
  1398.  
  1399.     or
  1400.           more, door
  1401.  
  1402.     ow
  1403.           out, how
  1404.  
  1405.     oy
  1406.           boy, coin
  1407.  
  1408.     uh
  1409.           but, some
  1410.  
  1411.     u
  1412.           put, foot
  1413.  
  1414.     y
  1415.           yet, young
  1416.  
  1417.     yoo
  1418.           few, chew
  1419.  
  1420.     [y]oo
  1421.           oo with optional fronting as in `news' (nooz or nyooz)
  1422.  
  1423.    The glyph * is used for the `schwa' sound of unstressed or occluded
  1424. vowels (the one that is often written with an upside-down `e').  The
  1425. schwa vowel is omitted in syllables containing vocalic r, l, m or n;
  1426. that is, `kitten' and `color' would be rendered kit'n and kuhl'r, not
  1427. kit'*n and kuhl'*r.
  1428.  
  1429.    Note that the above table reflects mainly distinctions found in
  1430. standard American English (that is, the neutral dialect spoken by TV
  1431. network announcers and typical of educated speech in the Upper Midwest,
  1432. Chicago, Minneapolis/St. Paul and Philadelphia).  However, we separate
  1433. /o/ from /ah/, which tend to merge in standard American.  This may help
  1434. readers accustomed to accents resembling British Received Pronunciation.
  1435.  
  1436.    The intent of this scheme is to permit as many readers as possible to
  1437. map the pronunciations into their local dialect by ignoring some subset
  1438. of the distinctions we make.  Speakers of British RP, for example, can
  1439. smash terminal /r/ and all unstressed vowels.  Speakers of many
  1440. varieties of southern American will automatically map /o/ to /aw/; and
  1441. so forth.  (Standard American makes a good reference dialect for this
  1442. purpose because it has crisp consonents and more vowel distinctions
  1443. than other major dialects, and tends to retain distinctions between
  1444. unstressed vowels.  It also happens to be what your editor speaks.)
  1445.  
  1446.    Entries with a pronunciation of `' are written-only usages.  (No,
  1447. Unix weenies, this does _not_ mean `pronounce like previous
  1448. pronunciation'!)
  1449.  
  1450. :Other Lexicon Conventions:
  1451. ===========================
  1452.  
  1453.    Entries are sorted in case-blind ASCII collation order (rather than
  1454. the letter-by-letter order ignoring interword spacing common in
  1455. mainstream dictionaries), except that all entries beginning with
  1456. nonalphabetic characters are sorted after Z.  The case-blindness is a
  1457. feature, not a bug.
  1458.  
  1459.    The beginning of each entry is marked by a colon (`:') at the left
  1460. margin.  This convention helps out tools like hypertext browsers that
  1461. benefit from knowing where entry boundaries are, but aren't as
  1462. context-sensitive as humans.
  1463.  
  1464.    In pure ASCII renderings of the Jargon File, you will see {} used to
  1465. bracket words which themselves have entries in the File.  This isn't
  1466. done all the time for every such word, but it is done everywhere that a
  1467. reminder seems useful that the term has a jargon meaning and one might
  1468. wish to refer to its entry.
  1469.  
  1470.    In this all-ASCII version, headwords for topic entries are
  1471. distinguished from those for ordinary entries by being followed by "::"
  1472. rather than ":"; similarly, references are surrounded by "{{" and "}}"
  1473. rather than "{" and "}".
  1474.  
  1475.    Defining instances of terms and phrases appear in `slanted type'.  A
  1476. defining instance is one which occurs near to or as part of an
  1477. explanation of it.
  1478.  
  1479.    Prefixed ** is used as linguists do; to mark examples of incorrect
  1480. usage.
  1481.  
  1482.    We follow the `logical' quoting convention described in the Writing
  1483. Style section above.  In addition, we reserve double quotes for actual
  1484. excerpts of text or (sometimes invented) speech.  Scare quotes (which
  1485. mark a word being used in a nonstandard way), and philosopher's quotes
  1486. (which turn an utterance into the string of letters or words that name
  1487. it) are both rendered with single quotes.
  1488.  
  1489.    References such as `malloc(3)' and `patch(1)' are to Unix facilities
  1490. (some of which, such as `patch(1)', are actually freeware distributed
  1491. over Usenet).  The Unix manuals use `foo(n)' to refer to item foo in
  1492. section (n) of the manual, where n=1 is utilities, n=2 is system calls,
  1493. n=3 is C library routines, n=6 is games, and n=8 (where present) is
  1494. system administration utilities.  Sections 4, 5, and 7 of the manuals
  1495. have changed roles frequently and in any case are not referred to in
  1496. any of the entries.
  1497.  
  1498.    Various abbreviations used frequently in the lexicon are summarized
  1499. here:
  1500.  
  1501. abbrev.
  1502.      abbreviation
  1503.  
  1504. adj.
  1505.      adjective
  1506.  
  1507. adv.
  1508.      adverb
  1509.  
  1510. alt.
  1511.      alternate
  1512.  
  1513. cav.
  1514.      caveat
  1515.  
  1516. conj.
  1517.      conjunction
  1518.  
  1519. esp.
  1520.      especially
  1521.  
  1522. excl.
  1523.      exclamation
  1524.  
  1525. imp.
  1526.      imperative
  1527.  
  1528. interj.
  1529.      interjection
  1530.  
  1531. n.
  1532.      noun
  1533.  
  1534. obs.
  1535.      obsolete
  1536.  
  1537. pl.
  1538.      plural
  1539.  
  1540. poss.
  1541.      possibly
  1542.  
  1543. pref.
  1544.      prefix
  1545.  
  1546. prob.
  1547.      probably
  1548.  
  1549. prov.
  1550.      proverbial
  1551.  
  1552. quant.
  1553.      quantifier
  1554.  
  1555. suff.
  1556.      suffix
  1557.  
  1558. syn.
  1559.      synonym (or synonymous with)
  1560.  
  1561. v.
  1562.      verb (may be transitive or intransitive)
  1563.  
  1564. var.
  1565.      variant
  1566.  
  1567. vi.
  1568.      intransitive verb
  1569.  
  1570. vt.
  1571.      transitive verb
  1572.  
  1573.    Where alternate spellings or pronunciations are given, alt.
  1574. separates two possibilities with nearly equal distribution, while var.
  1575. prefixes one that is markedly less common than the primary.
  1576.  
  1577.    Where a term can be attributed to a particular subculture or is known
  1578. to have originated there, we have tried to so indicate.  Here is a list
  1579. of abbreviations used in etymologies:
  1580.  
  1581. Amateur Packet Radio
  1582.      A technical culture of ham-radio sites using AX.25 and TCP/IP for
  1583.      wide-area networking and BBS systems.
  1584.  
  1585. Berkeley
  1586.      University of California at Berkeley
  1587.  
  1588. BBN
  1589.      Bolt, Beranek & Newman
  1590.  
  1591. Cambridge
  1592.      the university in England (_not_ the city in Massachusetts where
  1593.      MIT happens to be located!)
  1594.  
  1595. CMU
  1596.      Carnegie-Mellon University
  1597.  
  1598. Commodore
  1599.      Commodore Business Machines
  1600.  
  1601. DEC
  1602.      The Digital Equipment Corporation (now Compaq).
  1603.  
  1604. Fairchild
  1605.      The Fairchild Instruments Palo Alto development group
  1606.  
  1607. FidoNet
  1608.      See the {FidoNet} entry
  1609.  
  1610. IBM
  1611.      International Business Machines
  1612.  
  1613. MIT
  1614.      Massachusetts Institute of Technology; esp. the legendary MIT AI
  1615.      Lab culture of roughly 1971 to 1983 and its feeder groups,
  1616.      including the Tech Model Railroad Club
  1617.  
  1618. NRL
  1619.      Naval Research Laboratories
  1620.  
  1621. NYU
  1622.      New York University
  1623.  
  1624. OED
  1625.      The Oxford English Dictionary
  1626.  
  1627. Purdue
  1628.      Purdue University
  1629.  
  1630. SAIL
  1631.      Stanford Artificial Intelligence Laboratory (at Stanford
  1632.      University)
  1633.  
  1634. SI
  1635.      From Syste`me International, the name for the standard conventions
  1636.      of metric nomenclature used in the sciences
  1637.  
  1638. Stanford
  1639.      Stanford University
  1640.  
  1641. Sun
  1642.      Sun Microsystems
  1643.  
  1644. TMRC
  1645.      Some MITisms go back as far as the Tech Model Railroad Club (TMRC)
  1646.      at MIT c. 1960.  Material marked TMRC is from "An Abridged
  1647.      Dictionary of the TMRC Language", originally compiled by Pete
  1648.      Samson in 1959
  1649.  
  1650. UCLA
  1651.      University of California at Los Angeles
  1652.  
  1653. UK
  1654.      the United Kingdom (England, Wales, Scotland, Northern Ireland)
  1655.  
  1656. Usenet
  1657.      See the {Usenet} entry
  1658.  
  1659. WPI
  1660.      Worcester Polytechnic Institute, site of a very active community of
  1661.      PDP-10 hackers during the 1970s
  1662.  
  1663. WWW
  1664.      The World-Wide-Web.
  1665.  
  1666. XEROX PARC
  1667.      XEROX's Palo Alto Research Center, site of much pioneering
  1668.      research in user interface design and networking
  1669.  
  1670. Yale
  1671.      Yale University
  1672.  
  1673.    Some other etymology abbreviations such as {Unix} and {PDP-10} refer
  1674. to technical cultures surrounding specific operating systems,
  1675. processors, or other environments.  The fact that a term is labelled
  1676. with any one of these abbreviations does not necessarily mean its use
  1677. is confined to that culture.  In particular, many terms labelled `MIT'
  1678. and `Stanford' are in quite general use.  We have tried to give some
  1679. indication of the distribution of speakers in the usage notes; however,
  1680. a number of factors mentioned in the introduction conspire to make
  1681. these indications less definite than might be desirable.
  1682.  
  1683.    A few new definitions attached to entries are marked [proposed].
  1684. These are usually generalizations suggested by editors or Usenet
  1685. respondents in the process of commenting on previous definitions of
  1686. those entries.  These are _not_ represented as established jargon.
  1687.  
  1688. :Format For New Entries:
  1689. ========================
  1690.  
  1691.    You can mail submissions for the Jargon File to
  1692. <jargon@snark.thyrsus.com>.
  1693.  
  1694.    We welcome new jargon, and corrections to or amplifications of
  1695. existing entries.  You can improve your submission's chances of being
  1696. included by adding background information on user population and years
  1697. of currency.  References to actual usage via URLs and/or DejaNews
  1698. pointers are particularly welcomed.
  1699.  
  1700.    All contributions and suggestions about the Jargon File will be
  1701. considered donations to be placed in the public domain as part of this
  1702. File, and may be used in subsequent paper editions.  Submissions may be
  1703. edited for accuracy, clarity and concision.
  1704.  
  1705.    We are looking to expand the File's range of technical specialties
  1706. covered.  There are doubtless rich veins of jargon yet untapped in the
  1707. scientific computing, graphics, and networking hacker communities; also
  1708. in numerical analysis, computer architectures and VLSI design, language
  1709. design, and many other related fields.  Send us your jargon!
  1710.  
  1711.    We are _not_ interested in straight technical terms explained by
  1712. textbooks or technical dictionaries unless an entry illuminates
  1713. `underground' meanings or aspects not covered by official histories.
  1714. We are also not interested in `joke' entries -- there is a lot of humor
  1715. in the file but it must flow naturally out of the explanations of what
  1716. hackers do and how they think.
  1717.  
  1718.    It is OK to submit items of jargon you have originated if they have
  1719. spread to the point of being used by people who are not personally
  1720. acquainted with you.  We prefer items to be attested by independent
  1721. submission from two different sites.
  1722.  
  1723.    An HTML version of the File is available at
  1724. http://www.tuxedo.org/jargon.  Please send us URLs for materials
  1725. related to the entries, so we can enrich the File's link structure.
  1726.  
  1727.    The Jargon File will be regularly maintained and made available for
  1728. browsing on the World Wide Web, and will include a version number.
  1729. Read it, pass it around, contribute -- this is _your_ monument!
  1730.  
  1731. The Jargon Lexicon
  1732. ******************
  1733.  
  1734. = 0 =
  1735. =====
  1736.  
  1737.    :0:  Numeric zero, as opposed to the letter `O' (the 15th    letter
  1738. of the English alphabet).  In their unmodified forms they    look a lot
  1739. alike, and various kluges invented to make them visually    distinct
  1740. have compounded the confusion.  If your zero is    center-dotted and
  1741. letter-O is not, or if letter-O looks almost    rectangular but zero
  1742. looks more like an American football stood on    end (or the reverse),
  1743. you're probably looking at a modern character    display (though the
  1744. dotted zero seems to have originated as an    option on IBM 3270
  1745. controllers).  If your zero is slashed but    letter-O is not, you're
  1746. probably looking at an old-style ASCII    graphic set descended from
  1747. the default typewheel on the venerable    ASR-33 Teletype
  1748. (Scandinavians, for whom /O is a letter, curse    this arrangement).
  1749. If letter-O has a slash across it and the zero    does not, your
  1750. display is tuned for a very old convention used at    IBM and a few
  1751. other early mainframe makers (Scandinavians curse    _this_ arrangement
  1752. even more, because it means two of their    letters collide).  Some
  1753. Burroughs/Unisys equipment displays a zero    with a _reversed_ slash.
  1754. Old CDC computers rendered letter O    as an unbroken oval and 0 as an
  1755. oval broken at upper right and    lower left.  And yet another
  1756. convention common on early line    printers left zero unornamented but
  1757. added a tail or hook to the    letter-O so that it resembled an
  1758. inverted Q or cursive capital    letter-O (this was endorsed by a draft
  1759. ANSI standard for how to    draw ASCII characters, but the final
  1760. standard changed the    distinguisher to a tick-mark in the upper-left
  1761. corner).  Are we    sufficiently confused yet?
  1762.  
  1763.    :1TBS: // n.  The "One True Brace Style"; see {indent    style}.
  1764.  
  1765.    :120 reset: /wuhn-twen'tee ree'set/ n.  [from 120 volts,    U.S.
  1766. wall voltage] To cycle power on a machine in order to reset or    unjam
  1767. it.  Compare {Big Red Switch}, {power cycle}.
  1768.  
  1769.    :2: infix.  In translation software written by hackers, infix    2
  1770. often represents the syllable _to_ with the connotation    `translate
  1771. to': as in dvi2ps (DVI to PostScript), int2string    (integer to
  1772. string), and texi2roff (Texinfo to [nt]roff).     Several versions of a
  1773. joke have floated around the internet in    which some idiot programmer
  1774. fixes the Y2K bug by changing all the    Y's in something to K's, as in
  1775. Januark, Februark, etc.
  1776.  
  1777.    :404: // n.  [from the HTTP error "file not found on    server"]
  1778. Extended to humans to convey that the subject has no    idea or no clue
  1779. - sapience not found.  May be used reflexively;    "Uh, I'm 404ing"
  1780. means "I'm drawing a blank".
  1781.  
  1782.    :404 compliant: adj.  The status of a website which has    been
  1783. completely removed, usually by the administrators of the    hosting
  1784. site as a result of net abuse by the website operators.     The term is
  1785. a tongue-in-cheek reference to the standard "301    compliant"
  1786. Murkowski Bill disclaimer used by spammers.  See also:    {spam},
  1787. {spamvertize}.
  1788.  
  1789.    :4.2: /for' poynt too'/ n.  Without a prefix, this almost
  1790. invariably refers to {BSD} Unix release 4.2.  Note that it is an
  1791. indication of cluelessness to say "version 4.2", and "release    4.2"
  1792. is rare; the number stands on its own, or is used in the more
  1793. explicit forms 4.2BSD or (less commonly) BSD 4.2.  Similar remarks
  1794. apply to "4.3", "4.4" and to earlier, less-widespread releases    4.1
  1795. and 2.9.
  1796.  
  1797.    :@-party: /at'par`tee/ n.  [from the @-sign in an Internet
  1798. address] (alt. `@-sign party' /at'si:n par`tee/) A    semi-closed party
  1799. thrown for hackers at a science-fiction    convention (esp. the annual
  1800. World Science Fiction Convention or    "Worldcon"); one must have a
  1801. {network address} to get in, or    at least be in company with someone
  1802. who does.  One of the most    reliable opportunities for hackers to
  1803. meet face to face with people    who might otherwise be represented by
  1804. mere phosphor dots on their    screens.  Compare {boink}.
  1805.  
  1806.    The first recorded @-party was held at the Westercon (a California
  1807. SF convention) over the July 4th weekend in 1980.  It is not clear
  1808. exactly when the canonical @-party venue shifted to the Worldcon    but
  1809. it had certainly become established by Constellation in 1983.
  1810. Sadly, the @-party tradition has been in decline since about 1996,
  1811. mainly because having an @-address no longer functions as an
  1812. effective lodge pin.
  1813.  
  1814. = A =
  1815. =====
  1816.  
  1817.    :abbrev: /*-breev'/, /*-brev'/ n.  Common abbreviation for
  1818. `abbreviation'.
  1819.  
  1820.    :ABEND: /a'bend/, /*-bend'/ n.  [ABnormal END]    1. Abnormal
  1821. termination (of software); {crash}; {lossage}.     Derives from an
  1822. error message on the IBM 360; used jokingly by    hackers but seriously
  1823. mainly by {code grinder}s.  Usually    capitalized, but may appear as
  1824. `abend'.  Hackers will try to    persuade you that ABEND is called
  1825. `abend' because it is what    system operators do to the machine late
  1826. on Friday when they want to    call it a day, and hence is from the
  1827. German `Abend' = `Evening'.     2. [alt.callahans] Absent By Enforced
  1828. Net Deprivation -    used in the subject lines of postings warning
  1829. friends of an    imminent loss of Internet access.  (This can be
  1830. because of computer    downtime, loss of provider, moving or illness.)
  1831. Variants of this    also appear: ABVND = `Absent By Voluntary Net
  1832. Deprivation' and    ABSEND = `Absent By Self-Enforced Net Deprivation'
  1833. have been    sighted.
  1834.  
  1835.    :accumulator: n. obs.  1. Archaic term for a register.  On-line
  1836. use of it as a synonym for `register' is a fairly reliable
  1837. indication that the user has been around for quite a while and/or
  1838. that the architecture under discussion is quite old.  The term in
  1839. full is almost never used of microprocessor registers, for example,
  1840. though symbolic names for arithmetic registers beginning in `A'
  1841. derive from historical use of the term `accumulator' (and not,
  1842. actually, from `arithmetic').  Confusingly, though, an `A'    register
  1843. name prefix may also stand for `address', as for    example on the
  1844. Motorola 680x0 family.  2. A register being used for    arithmetic or
  1845. logic (as opposed to addressing or a loop index),    especially one
  1846. being used to accumulate a sum or count of many    items.  This use is
  1847. in context of a particular routine or stretch    of code.  "The FOOBAZ
  1848. routine uses A3 as an accumulator."     3. One's in-basket (esp. among
  1849. old-timers who might use sense 1).     "You want this reviewed?  Sure,
  1850. just put it in the accumulator."     (See {stack}.)
  1851.  
  1852.    :ACK: /ak/ interj.  1. [common; from the ASCII mnemonic    for
  1853. 0000110] Acknowledge.  Used to register one's presence (compare
  1854. mainstream _Yo!_).  An appropriate response to {ping} or    {ENQ}.  2.
  1855. [from the comic strip "Bloom County"] An    exclamation of surprised
  1856. disgust, esp. in "Ack pffft!"     Semi-humorous.  Generally this sense
  1857. is not spelled in caps (ACK)    and is distinguished by a following
  1858. exclamation point.  3. Used to    politely interrupt someone to tell
  1859. them you understand their point    (see {NAK}).  Thus, for example, you
  1860. might cut off an overly    long explanation with "Ack.  Ack.  Ack.  I
  1861. get it now".
  1862.  
  1863.    There is also a usage "ACK?" (from sense 1) meaning "Are you
  1864. there?", often used in email when earlier mail has produced no
  1865. reply, or during a lull in {talk mode} to see if the person has    gone
  1866. away (the standard humorous response is of course {NAK}    (sense 2),
  1867. i.e., "I'm not here").
  1868.  
  1869.    :Acme: n.  The canonical supplier of bizarre, elaborate,    and
  1870. non-functional gadgetry - where Rube Goldberg and Heath    Robinson
  1871. (two cartoonists who specialized in elaborate    contraptions) shop.
  1872. The name has been humorously expanded as A    Company Making
  1873. Everything.  Describing some X as an "Acme X"    either means "This is
  1874. {insanely great}", or, more likely,    "This looks {insanely great} on
  1875. paper, but in practice it's    really easy to shoot yourself in the
  1876. foot with it."  Compare    {pistol}.
  1877.  
  1878.    This term, specially cherished by American hackers and explained
  1879. here for the benefit of our overseas brethren, comes from the    Warner
  1880. Brothers' series of "Roadrunner" cartoons.  In these    cartoons, the
  1881. famished Wile E. Coyote was forever attempting to    catch up with,
  1882. trap, and eat the Roadrunner.  His attempts usually    involved one or
  1883. more high-technology Rube Goldberg devices -    rocket jetpacks,
  1884. catapults, magnetic traps, high-powered    slingshots, etc.  These were
  1885. usually delivered in large cardboard    boxes, labeled prominently with
  1886. the Acme name.  These devices    invariably malfunctioned in improbable
  1887. and violent ways.
  1888.  
  1889.    :acolyte: n. obs.  [TMRC] An {OSU} privileged enough to    submit
  1890. data and programs to a member of the {priesthood}.
  1891.  
  1892.    :ad-hockery: /ad-hok'*r-ee/ n.  [Purdue] 1. Gratuitous
  1893. assumptions made inside certain programs, esp. expert systems,    which
  1894. lead to the appearance of semi-intelligent behavior but are    in fact
  1895. entirely arbitrary.  For example, fuzzy-matching of    input tokens
  1896. that might be typing errors against a symbol table can    make it look
  1897. as though a program knows how to spell.     2. Special-case code to
  1898. cope with some awkward input that would    otherwise cause a program to
  1899. {choke}, presuming normal inputs    are dealt with in some cleaner and
  1900. more regular way.  Also called    `ad-hackery', `ad-hocity'
  1901. (/ad-hos'*-tee/), `ad-crockery'.     See also {ELIZA effect}.
  1902.  
  1903.    :Ada:: n.  A {{Pascal}}-descended language that has been made
  1904. mandatory for Department of Defense software projects by the
  1905. Pentagon.  Hackers are nearly unanimous in observing that,
  1906. technically, it is precisely what one might expect given that kind
  1907. of endorsement by fiat; designed by committee, crockish, difficult
  1908. to use, and overall a disastrous, multi-billion-dollar boondoggle
  1909. (one common description wss "The PL/I of the 1980s").  Hackers    find
  1910. Ada's exception-handling and inter-process communication    features
  1911. particularly hilarious.  Ada Lovelace (the daughter of    Lord Byron
  1912. who became the world's first programmer while    cooperating with
  1913. Charles Babbage on the design of his mechanical    computing engines in
  1914. the mid-1800s) would almost certainly blanch    at the use to which her
  1915. name has latterly been put; the kindest    thing that has been said
  1916. about it is that there is probably a good    small language screaming
  1917. to get out from inside its vast,    {elephantine} bulk.
  1918.  
  1919.    :address harvester: n.  A robot that searches web pages    and/or
  1920. filters netnews traffic looking for valid email addresses.     Some
  1921. address harvesters are benign, used only for compiling address
  1922. directories.  Most, unfortunately, are run by miscreants compiling
  1923. address lists to {spam}.  Address harvesters can be foiled by    a
  1924. {teergrube}.
  1925.  
  1926.    :adger: /aj'r/ vt.  [UCLA mutant of {nadger}, poss. from    the
  1927. middle name of an infamous {tenured graduate student}] To    make a
  1928. bonehead move with consequences that could have been    foreseen with
  1929. even slight mental effort.  E.g., "He started    removing files and
  1930. promptly adgered the whole project".  Compare    {dumbass attack}.
  1931.  
  1932.    :admin: /ad-min'/ n.  Short for `administrator'; very    commonly
  1933. used in speech or on-line to refer to the systems person    in charge
  1934. on a computer.  Common constructions on this include    `sysadmin' and
  1935. `site admin' (emphasizing the administrator's    role as a site contact
  1936. for email and news) or `newsadmin'    (focusing specifically on news).
  1937. Compare {postmaster},    {sysop}, {system mangler}.
  1938.  
  1939.    :ADVENT: /ad'vent/ n.  The prototypical computer    adventure game,
  1940. first designed by Will Crowther on the {PDP-10}    in the mid-1970s as
  1941. an attempt at computer-refereed fantasy gaming,    and expanded into a
  1942. puzzle-oriented game by Don Woods at Stanford    in 1976. (Woods had
  1943. been one of the authors of    {INTERCAL}.) Now better known as
  1944. Adventure, but the {{TOPS-10}}    operating system permitted only
  1945. six-letter filenames.  See also    {vadding}, {Zork}, and {Infocom}.
  1946.  
  1947.    This game defined the terse, dryly humorous style since expected in
  1948.  text adventure games, and popularized several tag lines that have
  1949. become fixtures of hacker-speak:  "A huge green fierce snake bars
  1950. the way!"  "I see no X here" (for some noun X).  "You are in a    maze
  1951. of twisty little passages, all alike."  "You are in a little    maze of
  1952. twisty passages, all different."  The `magic words'    {xyzzy} and
  1953. {plugh} also derive from this game.
  1954.  
  1955.    Crowther, by the way, participated in the exploration of the
  1956. Mammoth & Flint Ridge cave system; it actually _has_ a    `Colossal
  1957. Cave' and a `Bedquilt' as in the game, and the `Y2' that    also turns
  1958. up is cavers' jargon for a map reference to a secondary    entrance.
  1959.  
  1960.    ADVENT sources are available for FTP at
  1961. `ftp://ftp.wustl.edu/doc/misc/if-archive/games/source/advent.tar.Z'.
  1962.  
  1963.    :AFAIK: // n.  [Usenet] Abbrev. for "As Far As I Know".
  1964.  
  1965.    :AFJ: // n.  Written-only abbreviation for "April Fool's    Joke".
  1966. Elaborate April Fool's hoaxes are a long-established    tradition on
  1967. Usenet and Internet; see {kremvax} for an example.     In fact, April
  1968. Fool's Day is the _only_ seasonal holiday    consistently marked by
  1969. customary observances on Internet and other    hacker networks.
  1970.  
  1971.    :AI: /A-I/ n.  Abbreviation for `Artificial Intelligence',    so
  1972. common that the full form is almost never written or spoken    among
  1973. hackers.
  1974.  
  1975.    :AI-complete: /A-I k*m-pleet'/ adj.  [MIT, Stanford: by    analogy
  1976. with `NP-complete' (see {NP-})] Used to describe    problems or
  1977. subproblems in AI, to indicate that the solution    presupposes a
  1978. solution to the `strong AI problem' (that is, the    synthesis of a
  1979. human-level intelligence).  A problem that is    AI-complete is, in
  1980. other words, just too hard.
  1981.  
  1982.    Examples of AI-complete problems are `The Vision Problem'
  1983. (building a system that can see as well as a human) and `The    Natural
  1984. Language Problem' (building a system that can understand    and speak a
  1985. natural language as well as a human).  These may appear    to be
  1986. modular, but all attempts so far (1999) to solve them have    foundered
  1987. on the amount of context information and `intelligence'    they seem to
  1988. require. See also {gedanken}.
  1989.  
  1990.    :AI koans: /A-I koh'anz/ pl.n.  A series of pastiches of Zen
  1991. teaching riddles created by Danny Hillis at the MIT AI Lab around
  1992. various major figures of the Lab's culture (several are included
  1993. under {Some AI Koans} in Appendix A).  See also {ha ha    only
  1994. serious}, {mu}, and {{hacker humor}}.
  1995.  
  1996.    :AIDS: /aydz/ n.  Short for A* Infected Disk Syndrome (`A*'    is a
  1997. {glob} pattern that matches, but is not limited to, Apple    or Amiga),
  1998. this condition is quite often the result of practicing    unsafe {SEX}.
  1999. See {virus}, {worm}, {Trojan horse},    {virgin}.
  2000.  
  2001.    :AIDX: /ayd'k*z/ n.  Derogatory term for IBM's perverted    version
  2002. of Unix, AIX, especially for the AIX 3.? used in the IBM    RS/6000
  2003. series (some hackers think it is funnier just to pronounce    "AIX" as
  2004. "aches").  A victim of the dreaded "hybridism"    disease, this attempt
  2005. to combine the two main currents of the Unix    stream ({BSD} and {USG
  2006. Unix}) became a {monstrosity} to    haunt system administrators'
  2007. dreams.  For example, if new accounts    are created while many users
  2008. are logged on, the load average jumps    quickly over 20 due to silly
  2009. implementation of the user databases.     For a quite similar disease,
  2010. compare {HP-SUX}.  Also, compare    {Macintrash}, {Nominal
  2011. Semidestructor}, {ScumOS},    {sun-stools}.
  2012.  
  2013.    :airplane rule: n.  "Complexity increases the possibility of
  2014. failure; a twin-engine airplane has twice as many engine problems    as
  2015. a single-engine airplane."  By analogy, in both software and
  2016. electronics, the rule that simplicity increases robustness.  It is
  2017. correspondingly argued that the right way to build reliable systems
  2018. is to put all your eggs in one basket, after making sure that    you've
  2019. built a really _good_ basket.  See also {KISS    Principle}.
  2020.  
  2021.    :Alderson loop: n.  [Intel] A special version of an    {infinite
  2022. loop} where there is an exit condition available, but    inaccessible
  2023. in the current implementation of the code.  Typically    this is
  2024. created while debugging user interface code.  An example    would be
  2025. when there is a menu stating, "Select 1-3 or 9 to quit"    and 9 is not
  2026. allowed by the function that takes the selection from    the user.
  2027.  
  2028.    This term received its name from a programmer who had coded a modal
  2029.  message box in MSAccess with no Ok or Cancel buttons, thereby
  2030. disabling the entire program whenever the box came up.  The message
  2031. box had the proper code for dismissal and even was set up so that
  2032. when the non-existent Ok button was pressed the proper code would    be
  2033. called.
  2034.  
  2035.    :aliasing bug: n.  A class of subtle programming errors that    can
  2036. arise in code that does dynamic allocation, esp. via    `malloc(3)' or
  2037. equivalent.  If several pointers address    (`aliases for') a given
  2038. hunk of storage, it may happen that the    storage is freed or
  2039. reallocated (and thus moved) through one alias    and then referenced
  2040. through another, which may lead to subtle (and    possibly
  2041. intermittent) lossage depending on the state and the    allocation
  2042. history of the malloc {arena}.  Avoidable by use of    allocation
  2043. strategies that never alias allocated core, or by use of
  2044. higher-level languages, such as {LISP}, which employ a garbage
  2045. collector (see {GC}).  Also called a {stale pointer bug}.     See also
  2046. {precedence lossage}, {smash the stack},    {fandango on core}, {memory
  2047. leak}, {memory smash},    {overrun screw}, {spam}.
  2048.  
  2049.    Historical note: Though this term is nowadays associated with    C
  2050. programming, it was already in use in a very similar sense in the
  2051. Algol-60 and FORTRAN communities in the 1960s.
  2052.  
  2053.    :all-elbows: adj.  [MS-DOS] Of a TSR
  2054. (terminate-and-stay-resident) IBM PC program, such as the N    pop-up
  2055. calendar and calculator utilities that circulate on {BBS}    systems:
  2056. unsociable.  Used to describe a program that rudely steals    the
  2057. resources that it needs without considering that other TSRs may    also
  2058. be resident.  One particularly common form of rudeness is    lock-up
  2059. due to programs fighting over the keyboard interrupt.  See    {rude},
  2060. also {mess-dos}.
  2061.  
  2062.    :alpha geek: n.  [from animal ethologists' `alpha    male'] The most
  2063. technically accomplished or skillful person in some    implied context.
  2064. "Ask Larry, he's the alpha geek here."
  2065.  
  2066.    :alpha particles: n.  See {bit rot}.
  2067.  
  2068.    :alt: /awlt/  1. n. The alt shift key on an IBM PC or    {clone}
  2069. keyboard; see {bucky bits}, sense 2 (though typical    PC usage does
  2070. not simply set the 0200 bit).  2. n. The `option'    key on a
  2071. Macintosh; use of this term usually reveals that the    speaker hacked
  2072. PCs before coming to the Mac (see also {feature    key}, which is
  2073. sometimes _incorrectly_ called `alt').     3. n.,obs.  [PDP-10; often
  2074. capitalized to ALT] Alternate name    for the ASCII ESC character
  2075. (ASCII 0011011), after the keycap    labeling on some older terminals;
  2076. also `altmode' (/awlt'mohd/).     This character was almost never
  2077. pronounced `escape' on an ITS    system, in {TECO}, or under TOPS-10 --
  2078. always alt, as in "Type    alt alt to end a TECO command" or "alt-U
  2079. onto the system" (for    "log onto the [ITS] system").  This usage
  2080. probably arose because    alt is more convenient to say than `escape',
  2081. especially when    followed by another alt or a character (or another
  2082. alt _and_ a    character, for that matter).  4. The alt hierarchy on
  2083. Usenet,    the tree of newsgroups created by users without a formal
  2084. vote and    approval procedure.  There is a myth, not entirely
  2085. implausible,    that alt is acronymic for "anarchists, lunatics, and
  2086. terrorists"; but in fact it is simply short for "alternative".
  2087.  
  2088.    :alt bit: /awlt bit/ [from alternate] adj.  See {meta    bit}.
  2089.  
  2090.    :Aluminum Book: n.  [MIT] "Common LISP: The Language", by    Guy L.
  2091. Steele Jr. (Digital Press, first edition 1984, second    edition 1990).
  2092. Note that due to a technical screwup some printings    of the second
  2093. edition are actually of a color the author describes    succinctly as
  2094. "yucky green".  See also {{book titles}}.
  2095.  
  2096.    :ambimouseterous: /am-b*-mows'ter-us/ or /am-b*-mows'trus/    adj.
  2097. [modeled on ambidextrous]    Able to use a mouse with either hand.
  2098.  
  2099.    :Amiga: n  A series of personal computer models originally    sold
  2100. by Commodore, based on 680x0 processors, custom support chips    and an
  2101. operating system that combined some of the best features of
  2102. Macintosh and Unix with compatibility with neither.
  2103.  
  2104.    The Amiga was released just as the personal computing world
  2105. standardized on IBM-PC clones. This prevented it from gaining
  2106. serious market share, despite the fact that the first Amigas had a
  2107. substantial technological lead on the IBM XTs of the time. Instead,
  2108. it acquired a small but zealous population of enthusiastic hackers
  2109. who dreamt of one day unseating the clones (see {Amiga    Persecution
  2110. Complex}).  The traits of this culture are both spoofed    and
  2111. illuminated in    The BLAZE Humor Viewer
  2112. (http://www-ccsl.cs.umass.edu/~barrett/bm/Viewer_Sections/Main.HTML).
  2113. The strength of the Amiga platform seeded a    small industry of
  2114. companies building software and hardware for the    platform,
  2115. especially in graphics and video applications (see    {video toaster}).
  2116.  
  2117.    Due to spectacular mismanagement, Commodore did hardly any R&D,
  2118. allowing the competition to close Amiga's technological lead.     After
  2119. Commodore went bankrupt in 1994 the technology passed through
  2120. several hands, none of whom did much with it.  However, the Amiga    is
  2121. still being produced in Europe under license and has a    substantial
  2122. number of fans, which will probably extend the    platform's life
  2123. considerably.
  2124.  
  2125.    :Amiga Persecution Complex: n.  The disorder suffered by a
  2126. particularly egregious variety of {bigot}, those who believe    that
  2127. the marginality of their preferred machine is the result of    some
  2128. kind of industry-wide conspiracy (for without a conspiracy of    some
  2129. kind, the eminent superiority of their beloved shining jewel    of a
  2130. platform would obviously win over all, market pressures be    damned!)
  2131. Those afflicted are prone to engaging in {flame war}s    and calling
  2132. for boycotts and mailbombings.  Amiga Persecution    Complex is by no
  2133. means limited to Amiga users; NeXT, {NeWS},    {OS/2}, Macintosh,
  2134. {LISP}, and {GNU} users are also common    victims. {Linux} users used
  2135. to display symptoms very frequently    before Linux started winning;
  2136. some still do.  See also {newbie},    {troll}, {holy wars}, {weenie},
  2137. {Get a life!}.
  2138.  
  2139.    :amoeba: n.  Humorous term for the Commodore Amiga personal
  2140. computer.
  2141.  
  2142.    :amp off: vt.  [Purdue] To run in {background}.  From the    Unix
  2143. shell `&' operator.
  2144.  
  2145.    :amper: n.  Common abbreviation for the name of the ampersand
  2146. (`&', ASCII 0100110) character.  See {{ASCII}} for other synonyms.
  2147.  
  2148.    :angle brackets: n.  Either of the characters `<' (ASCII    0111100)
  2149. and `>' (ASCII 0111110) (ASCII less-than or    greater-than signs).
  2150. Typographers in the {Real World} use angle    brackets which are either
  2151. taller and slimmer (the ISO `Bra' and    `Ket' characters), or
  2152. significantly smaller (single or double    guillemets) than the
  2153. less-than and greater-than signs.     See {broket}, {{ASCII}}.
  2154.  
  2155.    :angry fruit salad: n.  A bad visual-interface design that    uses
  2156. too many colors.  (This term derives, of course, from the    bizarre
  2157. day-glo colors found in canned fruit salad.)  Too often one    sees
  2158. similar effects from interface designers using color window    systems
  2159. such as {X}; there is a tendency to create displays that    are flashy
  2160. and attention-getting but uncomfortable for long-term    use.
  2161.  
  2162.    :annoybot: /*-noy-bot/ n.  [IRC] See {bot}.
  2163.  
  2164.    :annoyware: n.  A type of {shareware} that frequently    disrupts
  2165. normal program operation to display requests for payment    to the
  2166. author in return for the ability to disable the request    messages.
  2167. (Also called `nagware') The requests generally require    user action
  2168. to acknowledge the message before normal operation is    resumed and
  2169. are often tied to the most frequently used features of    the software.
  2170. See also {careware}, {charityware},    {crippleware}, {freeware},
  2171. {FRS}, {guiltware},    {postcardware}, and {-ware}; compare {payware}.
  2172.  
  2173.    :ANSI: /an'see/  1. n. [techspeak] The American National
  2174. Standards Institute. ANSI, along with the International Organization
  2175. for Standards (ISO), standardized the C programming language (see
  2176. {K&R}, {Classic C}), and promulgates many other important    software
  2177. standards.  2. n. [techspeak] A terminal may be said to be    `ANSI' if
  2178. it meets the ANSI X.364 standard for terminal control.
  2179. Unfortunately, this standard was both over-complicated and too
  2180. permissive.  It has been retired and replaced by the ECMA-48
  2181. standard, which shares both flaws.  3. n. [BBS jargon] The set of
  2182. screen-painting codes that most MS-DOS and Amiga computers accept.
  2183. This comes from the ANSI.SYS device driver that must be loaded on    an
  2184. MS-DOS computer to view such codes.  Unfortunately, neither DOS    ANSI
  2185. nor the BBS ANSIs derived from it exactly match the ANSI X.364
  2186. terminal standard.  For example, the ESC-[1m code turns on the bold
  2187. highlight on large machines, but in IBM PC/MS-DOS ANSI, it turns on
  2188. `intense' (bright) colors.  Also, in BBS-land, the term `ANSI' is
  2189. often used to imply that a particular computer uses or can emulate
  2190. the IBM high-half character set from MS-DOS.  Particular use    depends
  2191. on context. Occasionally, the vanilla ASCII character set    is used
  2192. with the color codes, but on BBSs, ANSI and `IBM    characters' tend to
  2193. go together.
  2194.  
  2195.    :ANSI standard pizza: /an'see stan'd*rd peet'z*/  [CMU]    Pepperoni
  2196. and mushroom pizza.  Coined allegedly because most pizzas    ordered by
  2197. CMU hackers during some period leading up to mid-1990    were of that
  2198. flavor.  See also {rotary debugger}; compare    {ISO standard cup of
  2199. tea}.
  2200.  
  2201.    :AOL!: n.  [Usenet] Common synonym for "Me, too!"     alluding to
  2202. the legendary propensity of America Online users to    utter
  2203. contentless "Me, too!" postings.  The number of exclamation    points
  2204. following varies from zero to five or so.  The pseudo-HTML
  2205.  
  2206.         <AOL>Me, too!</AOL>
  2207.  
  2208. is also frequently seen. See also {September that never ended}.
  2209.  
  2210.    :app: /ap/ n.  Short for `application program', as opposed    to a
  2211. systems program.  Apps are what systems vendors are forever    chasing
  2212. developers to create for their environments so they can    sell more
  2213. boxes.  Hackers tend not to think of the things they    themselves run
  2214. as apps; thus, in hacker parlance the term excludes    compilers,
  2215. program editors, games, and messaging systems, though a    user would
  2216. consider all those to be apps.  (Broadly, an app is    often a
  2217. self-contained environment for performing some well-defined    task
  2218. such as `word processing'; hackers tend to prefer more
  2219. general-purpose tools.) See {killer app}; oppose {tool},    {operating
  2220. system}.
  2221.  
  2222.    :arena: n.  [common; Unix] The area of memory attached to a
  2223. process by `brk(2)' and `sbrk(2)' and used by    `malloc(3)' as dynamic
  2224. storage.  So named from a `malloc:    corrupt arena' message emitted
  2225. when some early versions detected an    impossible value in the free
  2226. block list.  See {overrun screw},    {aliasing bug}, {memory leak},
  2227. {memory smash}, {smash    the stack}.
  2228.  
  2229.    :arg: /arg/ n.  Abbreviation for `argument' (to a    function), used
  2230. so often as to have become a new word (like    `piano' from
  2231. `pianoforte').  "The sine function takes 1 arg,    but the arc-tangent
  2232. function can take either 1 or 2 args."     Compare {param}, {parm},
  2233. {var}.
  2234.  
  2235.    :ARMM: n.  [acronym, `Automated Retroactive Minimal    Moderation']
  2236. A Usenet {cancelbot} created by Dick Depew of Munroe Falls,    Ohio.
  2237. ARMM was intended to automatically cancel posts from
  2238. anonymous-posting sites.  Unfortunately, the robot's recognizer for
  2239. anonymous postings triggered on its own automatically-generated
  2240. control messages!  Transformed by this stroke of programming
  2241. ineptitude into a monster of Frankensteinian proportions, it broke
  2242. loose on the night of March 31, 1993 and proceeded to {spam}
  2243. news.admin.policy with a recursive explosion of over 200    messages.
  2244.  
  2245.    ARMM's bug produced a recursive {cascade} of messages each of which
  2246.  mechanically added text to the ID and Subject and some other
  2247. headers of its parent.  This produced a flood of messages in which
  2248. each header took up several screens and each message ID and subject
  2249. line got longer and longer and longer.
  2250.  
  2251.    Reactions varied from amusement to outrage.  The pathological
  2252. messages crashed at least one mail system, and upset people paying
  2253. line charges for their Usenet feeds.  One poster described the ARMM
  2254. debacle as "instant Usenet history" (also establishing the term
  2255. {despew}), and it has since been widely cited as a cautionary
  2256. example of the havoc the combination of good intentions and
  2257. incompetence can wreak on a network.  Compare {Great Worm};
  2258. {sorcerer's apprentice mode}.  See also {software laser},    {network
  2259. meltdown}.
  2260.  
  2261.    :armor-plated: n.  Syn. for {bulletproof}.
  2262.  
  2263.    :asbestos: adj.  [common] Used as a modifier to anything    intended
  2264. to protect one from {flame}s; also in other highly
  2265. {flame}-suggestive usages.  See, for example, {asbestos    longjohns}
  2266. and {asbestos cork award}.
  2267.  
  2268.    :asbestos cork award: n.  Once, long ago at MIT, there was a
  2269. {flamer} so consistently obnoxious that another hacker designed,    had
  2270. made, and distributed posters announcing that said flamer had    been
  2271. nominated for the `asbestos cork award'.  (Any reader in    doubt as to
  2272. the intended application of the cork should consult the    etymology
  2273. under {flame}.)  Since then, it is agreed that only a    select few
  2274. have risen to the heights of bombast required to earn    this dubious
  2275. dignity -- but there is no agreement on _which_    few.
  2276.  
  2277.    :asbestos longjohns: n.  Notional garments donned by    {Usenet}
  2278. posters just before emitting a remark they expect will    elicit
  2279. {flamage}.  This is the most common of the {asbestos}    coinages.
  2280. Also `asbestos underwear', `asbestos overcoat', etc.
  2281.  
  2282.    :ASCII:: /as'kee/ n.  [acronym: American Standard Code for
  2283. Information Interchange] The predominant character set encoding of
  2284. present-day computers.  The modern version uses 7 bits for each
  2285. character, whereas most earlier codes (including an early version    of
  2286. ASCII) used fewer.  This change allowed the inclusion of    lowercase
  2287. letters -- a major {win} -- but it did not provide    for accented
  2288. letters or any other letterforms not used in English    (such as the
  2289. German sharp-S    or the ae-ligature    which is a letter in, for
  2290. example, Norwegian).  It could be worse,    though.  It could be much
  2291. worse.  See {{EBCDIC}} to understand how.
  2292.  
  2293.    Computers are much pickier and less flexible about spelling than
  2294. humans; thus, hackers need to be very precise when talking about
  2295. characters, and have developed a considerable amount of verbal
  2296. shorthand for them.  Every character has one or more names -- some
  2297. formal, some concise, some silly.  Common jargon names for ASCII
  2298. characters are collected here.  See also individual entries for
  2299. {bang}, {excl}, {open}, {ques}, {semi}, {shriek},    {splat},
  2300. {twiddle}, and {Yu-Shiang Whole Fish}.
  2301.  
  2302.    This list derives from revision 2.3 of the Usenet ASCII
  2303. pronunciation guide.  Single characters are listed in ASCII order;
  2304. character pairs are sorted in by first member.  For each character,
  2305. common names are given in rough order of popularity, followed by
  2306. names that are reported but rarely seen; official ANSI/CCITT names
  2307. are surrounded by brokets: <>.  Square brackets mark the
  2308. particularly silly names introduced by {INTERCAL}.  The
  2309. abbreviations "l/r" and "o/c" stand for left/right and    "open/close"
  2310. respectively.  Ordinary parentheticals provide some    usage
  2311. information.
  2312.  
  2313. !
  2314.      Common: {bang}; pling; excl; shriek; <exclamation mark>.  Rare:
  2315.      factorial; exclam; smash; cuss; boing; yell; wow; hey; wham;
  2316.      eureka; [spark-spot]; soldier, control.
  2317.  
  2318. "
  2319.      Common: double quote; quote.  Rare: literal mark; double-glitch;
  2320.      <quotation marks>; <dieresis>; dirk; [rabbit-ears]; double prime.
  2321.  
  2322. #
  2323.      Common: number sign; pound; pound sign; hash; sharp; {crunch}; hex;
  2324.      [mesh].  Rare: grid; crosshatch; octothorpe; flash; <square>,
  2325.      pig-pen; tictactoe; scratchmark; thud; thump; {splat}.
  2326.  
  2327. $
  2328.      Common: dollar; <dollar sign>.  Rare: currency symbol; buck; cash;
  2329.      string (from BASIC); escape (when used as the echo of ASCII ESC);
  2330.      ding; cache; [big money].
  2331.  
  2332. %
  2333.      Common: percent; <percent sign>; mod; grapes.  Rare:
  2334.      [double-oh-seven].
  2335.  
  2336. &
  2337.      Common: <ampersand>; amper; and.  Rare: address (from C); reference
  2338.      (from C++); andpersand; bitand; background (from `sh(1)');
  2339.      pretzel; amp.  [INTERCAL called this `ampersand'; what could be
  2340.      sillier?]
  2341.  
  2342. '
  2343.      Common: single quote; quote; <apostrophe>.  Rare: prime; glitch;
  2344.      tick; irk; pop; [spark]; <closing single quotation mark>; <acute
  2345.      accent>.
  2346.  
  2347. ( )
  2348.      Common: l/r paren; l/r parenthesis; left/right; open/close;
  2349.      paren/thesis; o/c paren; o/c parenthesis; l/r parenthesis; l/r
  2350.      banana.  Rare: so/already; lparen/rparen; <opening/closing
  2351.      parenthesis>; o/c round bracket, l/r round bracket, [wax/wane];
  2352.      parenthisey/unparenthisey; l/r ear.
  2353.  
  2354. *
  2355.      Common: star; [{splat}]; <asterisk>.  Rare: wildcard; gear; dingle;
  2356.      mult; spider; aster; times; twinkle; glob (see {glob}); {Nathan
  2357.      Hale}.
  2358.  
  2359. +
  2360.      Common: <plus>; add.  Rare: cross; [intersection].
  2361.  
  2362. ,
  2363.      Common: <comma>.  Rare: <cedilla>; [tail].
  2364.  
  2365. -
  2366.      Common: dash; <hyphen>; <minus>.  Rare: [worm]; option; dak;
  2367.      bithorpe.
  2368.  
  2369. .
  2370.      Common: dot; point; <period>; <decimal point>.  Rare: radix point;
  2371.      full stop; [spot].
  2372.  
  2373. /
  2374.      Common: slash; stroke; <slant>; forward slash.  Rare: diagonal;
  2375.      solidus; over; slak; virgule; [slat].
  2376.  
  2377. :
  2378.      Common: <colon>.  Rare: dots; [two-spot].
  2379.  
  2380. ;
  2381.      Common: <semicolon>; semi.  Rare: weenie; [hybrid], pit-thwong.
  2382.  
  2383. < >
  2384.      Common: <less/greater than>; bra/ket; l/r angle; l/r angle
  2385.      bracket; l/r broket.  Rare: from/{into, towards}; read from/write
  2386.      to; suck/blow; comes-from/gozinta; in/out; crunch/zap (all from
  2387.      UNIX); [angle/right angle].
  2388.  
  2389. =
  2390.      Common: <equals>; gets; takes.  Rare: quadrathorpe; [half-mesh].
  2391.  
  2392. ?
  2393.      Common: query; <question mark>; {ques}.  Rare: whatmark; [what];
  2394.      wildchar; huh; hook; buttonhook; hunchback.
  2395.  
  2396. @
  2397.      Common: at sign; at; strudel.  Rare: each; vortex; whorl;
  2398.      [whirlpool]; cyclone; snail; ape; cat; rose; cabbage; <commercial
  2399.      at>.
  2400.  
  2401. V
  2402.      Rare: [book].
  2403.  
  2404. [ ]
  2405.      Common: l/r square bracket; l/r bracket; <opening/closing
  2406.      bracket>; bracket/unbracket.  Rare: square/unsquare; [U turn/U
  2407.      turn back].
  2408.  
  2409. \
  2410.      Common: backslash, hack, whack; escape (from C/UNIX); reverse
  2411.      slash; slosh; backslant; backwhack.  Rare: bash; <reverse slant>;
  2412.      reversed virgule; [backslat].
  2413.  
  2414. ^
  2415.      Common: hat; control; uparrow; caret; <circumflex>.  Rare: chevron;
  2416.      [shark (or shark-fin)]; to the (`to the power of'); fang; pointer
  2417.      (in Pascal).
  2418.  
  2419. _
  2420.      Common: <underline>; underscore; underbar; under.  Rare: score;
  2421.      backarrow; skid; [flatworm].
  2422.  
  2423. `
  2424.      Common: backquote; left quote; left single quote; open quote;
  2425.      <grave accent>; grave.  Rare: backprime; [backspark];
  2426.      unapostrophe; birk; blugle; back tick; back glitch; push; <opening
  2427.      single quotation mark>; quasiquote.
  2428.  
  2429. { }
  2430.      Common: o/c brace; l/r brace; l/r squiggly; l/r squiggly
  2431.      bracket/brace; l/r curly bracket/brace; <opening/closing brace>.
  2432.      Rare: brace/unbrace; curly/uncurly; leftit/rytit; l/r squirrelly;
  2433.      [embrace/bracelet].
  2434.  
  2435. |
  2436.      Common: bar; or; or-bar; v-bar; pipe; vertical bar.  Rare:
  2437.      <vertical line>; gozinta; thru; pipesinta (last three from UNIX);
  2438.      [spike].
  2439.  
  2440. ~
  2441.      Common: <tilde>; squiggle; {twiddle}; not.  Rare: approx; wiggle;
  2442.      swung dash; enyay; [sqiggle (sic)].
  2443.  
  2444. The pronunciation of `#' as `pound' is common in the U.S.     but a bad
  2445. idea; {{Commonwealth Hackish}} has its own, rather more    apposite use
  2446. of `pound sign' (confusingly, on British keyboards    the pound graphic
  2447.   happens to replace `#'; thus Britishers sometimes call    `#' on a
  2448. U.S.-ASCII keyboard `pound', compounding the    American error).  The
  2449. U.S. usage derives from an old-fashioned    commercial practice of
  2450. using a `#' suffix to tag pound weights    on bills of lading.  The
  2451. character is usually pronounced `hash'    outside the U.S.  There are
  2452. more culture wars over the correct    pronunciation of this character
  2453. than any other, which has led to    the {ha ha only serious} suggestion
  2454. that it be pronounced    `shibboleth' (see Judges 12.6 in an Old
  2455. Testament or    Torah).
  2456.  
  2457.    The `uparrow' name for circumflex and `leftarrow' name for
  2458. underline are historical relics from archaic ASCII (the 1963
  2459. version), which had these graphics in those character positions
  2460. rather than the modern punctuation characters.
  2461.  
  2462.    The `swung dash' or `approximation' sign is not quite the same    as
  2463. tilde in typeset material    but the ASCII tilde serves for both
  2464. (compare {angle    brackets}).
  2465.  
  2466.    Some other common usages cause odd overlaps.  The `#',    `$', `>',
  2467. and `&' characters, for example, are all    pronounced "hex" in
  2468. different communities because various    assemblers use them as a
  2469. prefix tag for hexadecimal constants (in    particular, `#' in many
  2470. assembler-programming cultures,    `$' in the 6502 world, `>' at Texas
  2471. Instruments, and    `&' on the BBC Micro, Sinclair, and some Z80
  2472. machines).  See    also {splat}.
  2473.  
  2474.    The inability of ASCII text to correctly represent any of the
  2475. world's other major languages makes the designers' choice of 7 bits
  2476. look more and more like a serious {misfeature} as the use of
  2477. international networks continues to increase (see {software    rot}).
  2478. Hardware and software from the U.S. still tends to embody    the
  2479. assumption that ASCII is the universal character set and that
  2480. characters have 7 bits; this is a major irritant to people who    want
  2481. to use a character set suited to their own languages.     Perversely,
  2482. though, efforts to solve this problem by proliferating    `national'
  2483. character sets produce an evolutionary pressure to use    a _smaller_
  2484. subset common to all those in use.
  2485.  
  2486.    :ASCII art: n.  The fine art of drawing diagrams using the    ASCII
  2487. character set (mainly `|', `-', `/', `\',    and `+').  Also known as
  2488. `character graphics' or `ASCII    graphics'; see also {boxology}.  Here
  2489. is a serious    example:
  2490.  
  2491.          o----)||(--+--|<----+   +---------o + D O
  2492.            L  )||(  |        |   |             C U
  2493.          A I  )||(  +-->|-+  |   +-\/\/-+--o -   T
  2494.          C N  )||(        |  |   |      |        P
  2495.            E  )||(  +-->|-+--)---+--|(--+-o      U
  2496.               )||(  |        |          | GND    T
  2497.          o----)||(--+--|<----+----------+
  2498.  
  2499.          A power supply consisting of a full wave rectifier circuit
  2500.          feeding a capacitor input filter circuit
  2501.  
  2502. And here are some very silly examples:
  2503.  
  2504.        |\/\/\/|     ____/|              ___    |\_/|    ___
  2505.        |      |     \ o.O|   ACK!      /   \_  |` '|  _/   \
  2506.        |      |      =(_)=  THPHTH!   /      \/     \/      \
  2507.        | (o)(o)        U             /                       \
  2508.        C      _)  (__)                \/\/\/\  _____  /\/\/\/
  2509.        | ,___|    (oo)                       \/     \/
  2510.        |   /       \/-------\         U                  (__)
  2511.       /____\        ||     | \    /---V  `v'-            oo )
  2512.      /      \       ||---W||  *  * |--|   || |`.         |_/\
  2513.  
  2514.                     //-o-\\
  2515.              ____---=======---____
  2516.          ====___\   /.. ..\   /___====      Klingons rule OK!
  2517.        //        ---\__O__/---        \\
  2518.        \_\                           /_/
  2519.  
  2520. There is an important subgenre of ASCII art that puns on the
  2521. standard character names in the fashion of a rebus.
  2522.  
  2523.      +--------------------------------------------------------+
  2524.      |      ^^^^^^^^^^^^                                      |
  2525.      | ^^^^^^^^^^^            ^^^^^^^^^                       |
  2526.      |                 ^^^^^^^^^^^^^            ^^^^^^^^^^^^^ |
  2527.      |        ^^^^^^^         B       ^^^^^^^^^               |
  2528.      |  ^^^^^^^^^          ^^^            ^^^^^^^^^^^^^^      |
  2529.      +--------------------------------------------------------+
  2530.                   " A Bee in the Carrot Patch "
  2531.  
  2532. Within humorous ASCII art, there is for some reason an entire
  2533. flourishing subgenre of pictures of silly cows.  Four of these are
  2534. reproduced in the silly examples above, here are three more:
  2535.  
  2536.               (__)              (__)              (__)
  2537.               (\/)              ($$)              (**)
  2538.        /-------\/        /-------\/        /-------\/
  2539.       / | 666 ||        / |=====||        / |     ||
  2540.      *  ||----||       *  ||----||       *  ||----||
  2541.         ~~    ~~          ~~    ~~          ~~    ~~
  2542.      Satanic cow    This cow is a Yuppie   Cow in love
  2543.  
  2544.    Finally, here's a magnificent example of ASCII art depicting an
  2545. Edwardian train station in Dunedin, New Zealand:
  2546.  
  2547.                                        .-.
  2548.                                       /___\
  2549.                                       |___|
  2550.                                       |]_[|
  2551.                                       / I \
  2552.                                    JL/  |  \JL
  2553.         .-.                    i   ()   |   ()   i                    .-.
  2554.         |_|     .^.           /_\  LJ=======LJ  /_\           .^.     |_|
  2555.      ._/___\._./___\_._._._._.L_J_/.-.     .-.\_L_J._._._._._/___\._./___\._._._
  2556.             ., |-,-| .,       L_J  |_| [I] |_|  L_J       ., |-,-| .,        .,
  2557.             JL |-O-| JL       L_J%%%%%%%%%%%%%%%L_J       JL |-O-| JL        JL
  2558.      IIIIII_HH_'-'-'_HH_IIIIII|_|=======H=======|_|IIIIII_HH_'-'-'_HH_IIIIII_HH_
  2559.      -------[]-------[]-------[_]----\.=I=./----[_]-------[]-------[]--------[]-
  2560.       _/\_  ||\\_I_//||  _/\_ [_] []_/_L_J_\_[] [_] _/\_  ||\\_I_//||  _/\_  ||\
  2561.       |__|  ||=/_|_\=||  |__|_|_|   _L_L_J_J_   |_|_|__|  ||=/_|_\=||  |__|  ||-
  2562.       |__|  |||__|__|||  |__[___]__--__===__--__[___]__|  |||__|__|||  |__|  |||
  2563.      IIIIIII[_]IIIII[_]IIIIIL___J__II__|_|__II__L___JIIIII[_]IIIII[_]IIIIIIII[_]
  2564.       \_I_/ [_]\_I_/[_] \_I_[_]\II/[]\_\I/_/[]\II/[_]\_I_/ [_]\_I_/[_] \_I_/ [_]
  2565.      ./   \.L_J/   \L_J./   L_JI  I[]/     \[]I  IL_J    \.L_J/   \L_J./   \.L_J
  2566.      |     |L_J|   |L_J|    L_J|  |[]|     |[]|  |L_J     |L_J|   |L_J|     |L_J
  2567.      |_____JL_JL___JL_JL____|-||  |[]|     |[]|  ||-|_____JL_JL___JL_JL_____JL_J
  2568.  
  2569. There is a newsgroup, rec.arts.ascii, devoted to this    genre;
  2570. however, see also {warlording}.
  2571.  
  2572.    :ASCIIbetical order: /as'kee-be'-t*-kl or'dr/ adj.,n.     Used to
  2573. indicate that data is sorted in ASCII collated order rather    than
  2574. alphabetical order.  This lexicon is sorted in something close    to
  2575. ASCIIbetical order, but with case ignored and entries beginning    with
  2576. non-alphabetic characters moved to the end.  "At my video    store,
  2577. they used their computer to sort the videos into    ASCIIbetical order,
  2578. so I couldn't find `"Crocodile" Dundee' until I    thought to look
  2579. before `2001' and `48 HRS.'!"
  2580.  
  2581.    :astroturfing: n.  The use of paid shills to create the
  2582. impression of a popular movement, through means like letters to
  2583. newspapers from soi-disant `concerned citizens', paid opinion
  2584. pieces, and the formation of grass-roots lobbying groups that are
  2585. actually funded by a PR group (astroturf is fake grass; hence the
  2586. term).  This term became common among hackers after it came to    light
  2587. in early 1998 that Microsoft had attempted to use such    tactics to
  2588. forestall the U.S. Department of Justice's antitrust    action against
  2589. the company.
  2590.  
  2591.    This backfired horribly, angering a number of state
  2592. attorneys-general enough to induce them to go public with plans to
  2593. join the Federal suit.  It also set anybody defending Microsoft on
  2594. the net for the accusation "You're just astroturfing!".
  2595.  
  2596.    :atomic: adj.  [from Gk. `atomos', indivisible]    1. Indivisible;
  2597. cannot be split up.  For example, an instruction    may be said to do
  2598. several things `atomically', i.e., all the    things are done
  2599. immediately, and there is no chance of the    instruction being
  2600. half-completed or of another being interspersed.     Used esp. to
  2601. convey that an operation cannot be screwed up by    interrupts.  "This
  2602. routine locks the file and increments the    file's semaphore
  2603. atomically."  2. [primarily techspeak] Guaranteed    to complete
  2604. successfully or not at all, usu. refers to database    transactions.
  2605. If an error prevents a partially-performed    transaction from
  2606. proceeding to completion, it must be "backed out,"    as the database
  2607. must not be left in an inconsistent state.
  2608.  
  2609.    Computer usage, in either of the above senses, has none of the
  2610. connotations that `atomic' has in mainstream English (i.e.  of
  2611. particles of matter, nuclear explosions etc.).
  2612.  
  2613.    :attoparsec: n.  About an inch.  `atto-' is the standard SI
  2614. prefix for multiplication by 10^(-18).  A parsec    (parallax-second)
  2615. is 3.26 light-years; an attoparsec is thus    3.26 * 10^(-18) light
  2616. years, or about 3.1 cm (thus, 1    attoparsec/{microfortnight} equals
  2617. about 1 inch/sec).  This unit    is reported to be in use (though
  2618. probably not very seriously) among    hackers in the U.K.  See {micro-}.
  2619.  
  2620.    :AUP: /A-U-P/  Abbreviation, "Acceptable Use Policy".  The    policy
  2621. of a given ISP which sets out what the ISP considers to be
  2622. (un)acceptable uses of its Internet resources.
  2623.  
  2624.    :autobogotiphobia: /aw'toh-boh-got`*-foh'bee-*/  n. See
  2625. {bogotify}.
  2626.  
  2627.    :automagically: /aw-toh-maj'i-klee/ adv.  Automatically, but    in a
  2628. way that, for some reason (typically because it is too    complicated,
  2629. or too ugly, or perhaps even too trivial), the speaker    doesn't feel
  2630. like explaining to you.  See {magic}.  "The    C-INTERCAL compiler
  2631. generates C, then automagically invokes    `cc(1)' to produce an
  2632. executable."
  2633.  
  2634.    This term is quite old, going back at least to the mid-70s in
  2635. jargon and probably much earlier.  The word `automagic' occurred in
  2636. advertising (for a shirt-ironing gadget) as far back as the late
  2637. 1940s.
  2638.  
  2639.    :avatar: n. Syn.  [in Hindu mythology, the incarnation of    a god]
  2640. 1. Among people working on virtual reality and    {cyberspace}
  2641. interfaces, an "avatar" is an icon or    representation of a user in a
  2642. shared virtual reality.  The term is    sometimes used on {MUD}s.  2.
  2643. [CMU, Tektronix] {root},    {superuser}.  There are quite a few Unix
  2644. machines on which the    name of the superuser account is `avatar'
  2645. rather than `root'.     This quirk was originated by a CMU hacker who
  2646. found the terms    `root' and  `superuser' unimaginative, and thought
  2647. `avatar'    might better impress people with the responsibility they
  2648. were    accepting.
  2649.  
  2650.    :awk: /awk/  1. n. [Unix techspeak] An interpreted language    for
  2651. massaging text data developed by Alfred Aho, Peter Weinberger,    and
  2652. Brian Kernighan (the name derives from their initials).  It is
  2653. characterized by C-like syntax, a declaration-free approach to
  2654. variable typing and declarations, associative arrays, and
  2655. field-oriented text processing.  See also {Perl}.  2. n.     Editing
  2656. term for an expression awkward to manipulate through normal    {regexp}
  2657. facilities (for example, one containing a    {newline}).  3. vt. To
  2658. process data using `awk(1)'.
  2659.  
  2660. = B =
  2661. =====
  2662.  
  2663.    :B5: //  [common] Abbreviation for "Babylon 5", a    science-fiction
  2664. TV series as revered among hackers as was the    original Star Trek.
  2665.  
  2666.    :back door: n.  [common] A hole in the security of a    system
  2667. deliberately left in place by designers or maintainers.  The
  2668. motivation for such holes is not always sinister; some operating
  2669. systems, for example, come out of the box with privileged accounts
  2670. intended for use by field service technicians or the vendor's
  2671. maintenance programmers.  Syn. {trap door}; may also be called a
  2672. `wormhole'.  See also {iron box}, {cracker}, {worm},    {logic bomb}.
  2673.  
  2674.    Historically, back doors have often lurked in systems longer than
  2675. anyone expected or planned, and a few have become widely known.     Ken
  2676. Thompson's 1983 Turing Award lecture to the ACM admitted the
  2677. existence of a back door in early Unix versions that may have
  2678. qualified as the most fiendishly clever security hack of all time.
  2679. In this scheme, the C compiler contained code that would recognize
  2680. when the `login' command was being recompiled and insert some    code
  2681. recognizing a password chosen by Thompson, giving him entry to    the
  2682. system whether or not an account had been created for him.
  2683.  
  2684.    Normally such a back door could be removed by removing it from the
  2685. source code for the compiler and recompiling the compiler.  But to
  2686. recompile the compiler, you have to _use_ the compiler -- so
  2687. Thompson also arranged that the compiler would _recognize when    it
  2688. was compiling a version of itself_, and insert into the    recompiled
  2689. compiler the code to insert into the recompiled    `login' the code to
  2690. allow Thompson entry -- and, of course, the    code to recognize itself
  2691. and do the whole thing again the next time    around!  And having done
  2692. this once, he was then able to recompile    the compiler from the
  2693. original sources; the hack perpetuated itself    invisibly, leaving the
  2694. back door in place and active but with no    trace in the sources.
  2695.  
  2696.    The talk that suggested this truly moby hack was published as
  2697. "Reflections on Trusting Trust", "Communications of the ACM    27", 8
  2698. (August 1984), pp. 761-763 (text available at
  2699. `http://www.acm.org/classics').  Ken Thompson has since    confirmed
  2700. that this hack was implemented and that the Trojan Horse    code did
  2701. appear in the login binary of a Unix Support group    machine.  Ken
  2702. says the crocked compiler was never distributed.     Your editor has
  2703. heard two separate reports that suggest that the    crocked login did
  2704. make it out of Bell Labs, notably to BBN, and    that it enabled at
  2705. least one late-night login across the network by    someone using the
  2706. login name `kt'.
  2707.  
  2708.    :backbone cabal: n.  A group of large-site administrators who
  2709. pushed through the {Great Renaming} and reined in the chaos of
  2710. {Usenet} during most of the 1980s.  During most of its lifetime,    the
  2711. Cabal (as it was sometimes capitalized) steadfastly denied its    own
  2712. existence; it was almost obligatory for anyone privy to their
  2713. secrets to respond "There is no Cabal" whenever the existence or
  2714. activities of the group were speculated on in public.
  2715.  
  2716.    The result of this policy was an attractive aura of mystery.  Even
  2717. a decade after the cabal {mailing list} disbanded in late 1988
  2718. following a bitter internal catfight, many people believed (or
  2719. claimed to believe) that it had not actually disbanded but only    gone
  2720. deeper underground with its power intact.
  2721.  
  2722.    This belief became a model for various paranoid theories about
  2723. various Cabals with dark nefarious objectives beginning with taking
  2724. over the Usenet or Internet.  These paranoias were later satirized
  2725. in ways that took on a life of their own.  See {Eric Conspiracy}    for
  2726. one example.
  2727.  
  2728.    See {NANA} for the subsequent history of "the Cabal".
  2729.  
  2730.    :backbone site: n.,obs.  Formerly, a key Usenet and email    site,
  2731. one that processes a large amount of third-party traffic,    especially
  2732. if it is the home site of any of the regional    coordinators for the
  2733. Usenet maps.  Notable backbone sites as of    early 1993, when this
  2734. sense of the term was beginning to pass out    of general use due to
  2735. wide availability of cheap Internet    connections, included uunet and
  2736. the mail machines at Rutgers    University, UC Berkeley, {DEC}'s
  2737. Western Research Laboratories,    Ohio State University, and the
  2738. University of Texas.  Compare    {rib site}, {leaf site}.
  2739.  
  2740.    [1996 update: This term is seldom heard any more.  The UUCP network
  2741.  world that gave it meaning has nearly disappeared; everyone is on
  2742. the Internet now and network traffic is distributed in very
  2743. different patterns.  Today one might see references to a `backbone
  2744. router' instead --ESR]
  2745.  
  2746.    :backgammon::  See {bignum} (sense 3), {moby} (sense 4),    and
  2747. {pseudoprime}.
  2748.  
  2749.    :background: n.,adj.,vt.  [common] To do a task `in    background'
  2750. is to do it whenever {foreground} matters are not    claiming your
  2751. undivided attention, and `to background' something    means to relegate
  2752. it to a lower priority.  "For now, we'll just    print a list of nodes
  2753. and links; I'm working on the graph-printing    problem in background."
  2754. Note that this implies ongoing activity    but at a reduced level or
  2755. in spare time, in contrast to mainstream    `back burner' (which
  2756. connotes benign neglect until some future    resumption of activity).
  2757. Some people prefer to use the term for    processing that they have
  2758. queued up for their unconscious minds (a    tack that one can often
  2759. fruitfully take upon encountering an    obstacle in creative work).
  2760. Compare {amp off}, {slopsucker}.
  2761.  
  2762.    Technically, a task running in background is detached from the
  2763. terminal where it was started (and often running at a lower
  2764. priority); oppose {foreground}.  Nowadays this term is primarily
  2765. associated with {{Unix}}, but it appears to have been first used    in
  2766. this sense on OS/360.
  2767.  
  2768.    :backreference: n.  1. In a regular expression or pattern    match,
  2769. the text which was matched within grouping parentheses    parentheses.
  2770. 2. The part of the pattern which refers back to the    matched text. 3.
  2771. By extension, anything which refers back to    something which has been
  2772. seen or discussed before.  "When you said    `she' just now, who were
  2773. you backreferencing?"
  2774.  
  2775.    :backronym: n.  [portmanteau of back + acronym] A word
  2776. interpreted as an acronym that was not originally so intended.
  2777. Examples are given under {BASIC}, {recursive acronym}    (Cygnus),
  2778. {Acme}, and {mung}.  Discovering backronyms is a    common form of
  2779. wordplay among hackers.
  2780.  
  2781.    :backspace and overstrike: interj.  [rare] Whoa!  Back up.     Used
  2782. to suggest that someone just said or did something wrong.     Once
  2783. common among APL programmers; may now be obsolete.
  2784.  
  2785.    :backward combatability: /bak'w*rd k*m-bat'*-bil'*-tee/ n.     [CMU,
  2786. Tektronix: from `backward compatibility'] A property of    hardware or
  2787. software revisions in which previous protocols,    formats, layouts,
  2788. etc. are irrevocably discarded in favor of `new    and improved'
  2789. protocols, formats, and layouts, leaving the previous    ones not
  2790. merely deprecated but actively defeated.  (Too often, the    old and
  2791. new versions cannot definitively be distinguished, such    that
  2792. lingering instances of the previous ones yield crashes or    other
  2793. infelicitous effects, as opposed to a simple "version    mismatch"
  2794. message.)  A backwards compatible change, on the other    hand, allows
  2795. old versions to coexist without crashes or error    messages, but too
  2796. many major changes incorporating elaborate    backwards compatibility
  2797. processing can lead to extreme {software    bloat}.  See also {flag
  2798. day}.
  2799.  
  2800.    :BAD: /B-A-D/ adj.  [IBM: acronym, `Broken As Designed']    Said of
  2801. a program that is {bogus} because of bad design and    misfeatures
  2802. rather than because of bugginess.  See {working as    designed}.
  2803.  
  2804.    :Bad and Wrong: adj.  [Durham, UK] Said of something that    is both
  2805. badly designed and wrongly executed. This common term is    the
  2806. prototype of, and is used by contrast with, three less common    terms
  2807. - Bad and Right (a kludge, something ugly but functional);    Good and
  2808. Wrong (an overblown GUI or other attractive nuisance); and    (rare
  2809. praise) Good and Right.  These terms entered common use at    Durham
  2810. c.1994 and may have been imported from elsewhere.  There are
  2811. standard abbreviations: they start with B&R, a typo for "Bad and
  2812. Wrong".  Consequently, B&W is actually "Bad and Right", G&R =    "Good
  2813. and Wrong", and G&W = "Good and Right". Compare    {evil and rude},
  2814. {Good Thing}, {Bad Thing}.
  2815.  
  2816.    :Bad Thing: n.  [very common; from the 1930 Sellar &    Yeatman
  2817. parody "1066 And All That"] Something that can't    possibly result in
  2818. improvement of the subject.  This term is always    capitalized, as in
  2819. "Replacing all of the 9600-baud modems with    bicycle couriers would
  2820. be a Bad Thing".  Oppose {Good Thing}.     British correspondents
  2821. confirm that {Bad Thing} and {Good    Thing} (and prob. therefore
  2822. {Right Thing} and {Wrong    Thing}) come from the book referenced in
  2823. the etymology, which    discusses rulers who were Good Kings but Bad
  2824. Things.  This has    apparently created a mainstream idiom on the
  2825. British side of the    pond.  It is very common among American hackers,
  2826. but not in    mainstream usage here. Compare {Bad and Wrong}.
  2827.  
  2828.    :bag on the side: n.  [prob. originally related to a    colostomy
  2829. bag] An extension to an established hack that    is supposed to add
  2830. some functionality to the original.  Usually    derogatory, implying
  2831. that the original was being overextended and    should have been thrown
  2832. away, and the new product is ugly,    inelegant, or bloated.  Also v.
  2833. phrase, `to hang a bag on the side    [of]'.  "C++?  That's just a bag
  2834. on the side of C ...."     "They want me to hang a bag on the side of
  2835. the accounting    system."
  2836.  
  2837.    :bagbiter: /bag'bi:t-*r/ n.  1. Something, such as a    program or a
  2838. computer, that fails to work, or works in a remarkably    clumsy
  2839. manner.  "This text editor won't let me make a file with a    line
  2840. longer than 80 characters!  What a bagbiter!"  2. A person    who has
  2841. caused you some trouble, inadvertently or otherwise,    typically by
  2842. failing to program the computer properly.  Synonyms:    {loser},
  2843. {cretin}, {chomper}.  3. `bite the bag' vi.     To fail in some manner.
  2844. "The computer keeps crashing every five    minutes."  "Yes, the disk
  2845. controller is really biting the bag."
  2846.  
  2847.    The original loading of these terms was almost undoubtedly obscene,
  2848.  possibly referring to a douche bag or the scrotum (we have reports
  2849. of "Bite the douche bag!" being used as an insult at MIT    1970-1976),
  2850. but in their current usage they have become almost    completely
  2851. sanitized.
  2852.  
  2853.    ITS's {lexiphage} program was the first and to date only known
  2854. example of a program _intended_ to be a bagbiter.
  2855.  
  2856.    :bagbiting: adj.  Having the quality of a {bagbiter}.     "This
  2857. bagbiting system won't let me compute the factorial of a    negative
  2858. number."  Compare {losing}, {cretinous},    {bletcherous}, `barfucious'
  2859. (under {barfulous}) and    `chomping' (under {chomp}).
  2860.  
  2861.    :balloonian variable: n.  [Commodore users; perh. a deliberate
  2862. phonetic mangling of `boolean variable'?] Any variable that    doesn't
  2863. actually hold or control state, but must nevertheless be    declared,
  2864. checked, or set.  A typical balloonian variable started    out as a
  2865. flag attached to some environment feature that either    became
  2866. obsolete or was planned but never implemented.     Compatibility
  2867. concerns (or politics attached to same) may require    that such a flag
  2868. be treated as though it were {live}.
  2869.  
  2870.    :bamf: /bamf/  1. [from X-Men comics; originally "bampf"]    interj.
  2871. Notional sound made by a person or object teleporting in or    out of
  2872. the hearer's vicinity.  Often used in {virtual reality}    (esp. {MUD})
  2873. electronic {fora} when a character wishes to    make a dramatic
  2874. entrance or exit.  2. The sound of magical    transformation, used in
  2875. virtual reality {fora} like MUDs. 3. In    MUD circles, "bamf" is also
  2876. used to refer to the act by which a    MUD server sends a special
  2877. notification to the MUD client to switch    its connection to another
  2878. server ("I'll set up the old site to    just bamf people over to our
  2879. new location.").  4. Used by MUDders    on occasion in a more general
  2880. sense related to sense 3, to refer to    directing someone to another
  2881. location or resource ("A user was    asking about some technobabble so
  2882. I bamfed them to    `http://www.tuxedo.org/jargon/'".)
  2883.  
  2884.    :banana label: n.  The labels often used on the sides of
  2885. {macrotape} reels, so called because they are shaped roughly    like
  2886. blunt-ended bananas.  This term, like macrotapes themselves,    is
  2887. still current but visibly headed for obsolescence.
  2888.  
  2889.    :banana problem: n.  [from the story of the little girl who    said
  2890. "I know how to spell `banana', but I don't know when to    stop"].  Not
  2891. knowing where or when to bring a production to a    close (compare
  2892. {fencepost error}).  One may say `there is a    banana problem' of an
  2893. algorithm with poorly defined or incorrect    termination conditions,
  2894. or in discussing the evolution of a design    that may be succumbing to
  2895. featuritis (see also {creeping    elegance}, {creeping featuritis}).
  2896. See item 176 under    {HAKMEM}, which describes a banana problem in a
  2897. {Dissociated    Press} implementation.  Also, see {one-banana problem}
  2898. for a    superficially similar but unrelated usage.
  2899.  
  2900.    :binary four: n.  [Usenet] The finger, in the sense of    `digitus
  2901. impudicus'.  This comes from an analogy between binary    and the hand,
  2902. i.e. 1=00001=thumb, 2=00010=index finger,    3=00011=index and thumb,
  2903. 4=00100.  Considered silly.  Prob. from    humorous derivative of
  2904. {finger}, sense 4.
  2905.  
  2906.    :bandwidth: n.  1. [common] Used by hackers (in a    generalization
  2907. of its technical meaning) as the volume of    information per unit time
  2908. that a computer, person, or transmission    medium can handle.  "Those
  2909. are amazing graphics, but I missed some    of the detail -- not enough
  2910. bandwidth, I guess."  Compare    {low-bandwidth}.  This generalized
  2911. usage began to go mainstream    after the Internet population explosion
  2912. of 1993-1994.  2. Attention    span.  3. On {Usenet}, a measure of
  2913. network capacity that is    often wasted by people complaining about
  2914. how items posted by others    are a waste of bandwidth.
  2915.  
  2916.    :bang:  1. n. Common spoken name for `!' (ASCII 0100001),
  2917. especially when used in pronouncing a {bang path} in spoken    hackish.
  2918. In {elder days} this was considered a CMUish usage,    with MIT and
  2919. Stanford hackers preferring {excl} or {shriek};    but the spread of
  2920. Unix has carried `bang' with it (esp. via the    term {bang path}) and
  2921. it is now certainly the most common spoken    name for `!'.  Note that
  2922. it is used exclusively for    non-emphatic written `!'; one would not
  2923. say "Congratulations    bang" (except possibly for humorous purposes),
  2924. but if one wanted    to specify the exact characters `foo!' one would
  2925. speak "Eff oh oh    bang".  See {shriek}, {{ASCII}}.  2. interj. An
  2926. exclamation    signifying roughly "I have achieved enlightenment!", or
  2927. "The    dynamite has cleared out my brain!"  Often used to acknowledge
  2928.  that one has perpetrated a {thinko} immediately after one has    been
  2929. called on it.
  2930.  
  2931.    :bang on: vt.  To stress-test a piece of hardware or software:    "I
  2932. banged on the new version of the simulator all day yesterday    and it
  2933. didn't crash once.  I guess it is ready for release."  The    term
  2934. {pound on} is synonymous.
  2935.  
  2936.    :bang path: n.  [now historical] An old-style UUCP
  2937. electronic-mail address specifying hops to get from some
  2938. assumed-reachable location to the addressee, so called because each
  2939. {hop} is signified by a {bang} sign.  Thus, for example, the    path
  2940. ...!bigsite!foovax!barbox!me directs people to route their    mail to
  2941. machine bigsite (presumably a well-known location    accessible to
  2942. everybody) and from there through the machine    foovax to the account
  2943. of user me on barbox.
  2944.  
  2945.    In the bad old days of not so long ago, before autorouting mailers
  2946. became commonplace, people often published compound bang addresses
  2947. using the { } convention (see {glob}) to give paths from    _several_
  2948. big machines, in the hopes that one's correspondent    might be able to
  2949. get mail to one of them reliably (example:    ...!{seismo, ut-sally,
  2950. ihnp4}!rice!beta!gamma!me).  Bang paths    of 8 to 10 hops were not
  2951. uncommon in 1981.  Late-night dial-up    UUCP links would cause
  2952. week-long transmission times.  Bang paths    were often selected by
  2953. both transmission time and reliability, as    messages would often get
  2954. lost.  See {{Internet address}},    {the network}, and {sitename}.
  2955.  
  2956.    :banner: n.  1. The title page added to printouts by most    print
  2957. spoolers (see {spool}).  Typically includes user or    account ID
  2958. information in very large character-graphics capitals.     Also called
  2959. a `burst page', because it indicates where to burst    (tear apart)
  2960. fanfold paper to separate one user's printout from the    next.  2. A
  2961. similar printout generated (typically on multiple pages    of fan-fold
  2962. paper) from user-specified text, e.g., by a program    such as Unix's
  2963. `banner({1,6})'.  3. On interactive software,    a first screen
  2964. containing a logo and/or author credits and/or a    copyright notice.
  2965. This is probably now the commonest sense.
  2966.  
  2967.    :banner ad: n.  Any of the annoying graphical    advertisements that
  2968. span the tops of way too many Web    pages.
  2969.  
  2970.    :bar: /bar/ n.  1. [very common] The second    {metasyntactic
  2971. variable}, after {foo} and before {baz}.     "Suppose we have two
  2972. functions: FOO and BAR.  FOO calls    BAR...." 2. Often appended to
  2973. {foo} to produce    {foobar}.
  2974.  
  2975.    :bare metal: n.  1. [common] New computer hardware,    unadorned
  2976. with such snares and delusions as an {operating    system}, an {HLL},
  2977. or even assembler.  Commonly used in the    phrase `programming on the
  2978. bare metal', which refers to the    arduous work of {bit bashing}
  2979. needed to create these basic tools    for a new machine.  Real
  2980. bare-metal programming involves things    like building boot proms and
  2981. BIOS chips, implementing basic    monitors used to test device drivers,
  2982. and writing the assemblers    that will be used to write the compiler
  2983. back ends that will give    the new machine a real development
  2984. environment.  2. `Programming on    the bare metal' is also used to
  2985. describe a style of    {hand-hacking} that relies on bit-level
  2986. peculiarities of a    particular hardware design, esp. tricks for speed
  2987. and space    optimization that rely on crocks such as overlapping
  2988. instructions    (or, as in the famous case described in {The Story of
  2989. Mel} (in    Appendix A), interleaving of opcodes on a magnetic drum to
  2990. minimize    fetch delays due to the device's rotational latency).  This
  2991. sort of    thing has become less common as the relative costs of
  2992. programming    time and machine resources have changed, but is still
  2993. found in    heavily constrained environments such as industrial embedded
  2994.   systems, and in the code of hackers who just can't let go of that
  2995. low-level control.  See {Real Programmer}.
  2996.  
  2997.    In the world of personal computing, bare metal programming
  2998. (especially in sense 1 but sometimes also in sense 2) is often
  2999. considered a {Good Thing}, or at least a necessary evil    (because
  3000. these machines have often been sufficiently slow and    poorly designed
  3001. to make it necessary; see {ill-behaved}).     There, the term usually
  3002. refers to bypassing the BIOS or OS    interface and writing the
  3003. application to directly access device    registers and machine
  3004. addresses.  "To get 19.2 kilobaud on the    serial port, you need to
  3005. get down to the bare metal."  People who    can do this sort of thing
  3006. well are held in high regard.
  3007.  
  3008.    :barf: /barf/ n.,v.  [common; from mainstream slang    meaning
  3009. `vomit'] 1. interj.  Term of disgust.  This is the    closest hackish
  3010. equivalent of the Valspeak "gag me with a    spoon". (Like, euwww!)
  3011. See {bletch}.  2. vi. To say    "Barf!" or emit some similar expression
  3012. of disgust.  "I showed    him my latest hack and he barfed" means only
  3013. that he complained    about it, not that he literally vomited.  3. vi.
  3014. To fail to    work because of unacceptable input, perhaps with a
  3015. suitable error    message, perhaps not.  Examples: "The division
  3016. operation barfs if    you try to divide by 0."  (That is, the division
  3017. operation checks    for an attempt to divide by zero, and if one is
  3018. encountered it    causes the operation to fail in some unspecified, but
  3019. generally    obvious, manner.) "The text editor barfs if you try to
  3020. read in a    new file before writing out the old one."  See {choke},
  3021. {gag}.  In Commonwealth Hackish, `barf' is generally replaced    by
  3022. `puke' or `vom'.  {barf} is sometimes also used as a    {metasyntactic
  3023. variable}, like {foo} or {bar}.
  3024.  
  3025.    :barfmail: n.  Multiple {bounce message}s accumulating to    the
  3026. level of serious annoyance, or worse.  The sort of thing that
  3027. happens when an inter-network mail gateway goes down or wonky.
  3028.  
  3029.    :barfulation: /bar`fyoo-lay'sh*n/ interj.  Variation of    {barf}
  3030. used around the Stanford area.  An exclamation,    expressing disgust.
  3031. On seeing some particularly bad code one might    exclaim,
  3032. "Barfulation!  Who wrote this, Quux?"
  3033.  
  3034.    :barfulous: /bar'fyoo-l*s/ adj.  (alt. `barfucious',
  3035. /bar-fyoo-sh*s/) Said of something that would make anyone    barf, if
  3036. only for esthetic reasons.
  3037.  
  3038.    :barn: n.  [uncommon; prob. from the nuclear military] An
  3039. unexpectedly large quantity of something: a unit of measurement.
  3040. "Why is /var/adm taking up so much space?"  "The logs have grown    to
  3041. several barns."  The source of this is clear: when physicists    were
  3042. first studying nuclear interactions, the probability was    thought to
  3043. be proportional to the cross-sectional area of the    nucleus (this
  3044. probability is still called the cross-section).  Upon    experimenting,
  3045. they discovered the interactions were far more    probable than
  3046. expected; the nuclei were `as big as a barn'.  The    units for
  3047. cross-sections were christened Barns, (10^-24 cm^2) and    the book
  3048. containing cross-sections has a picture    of a barn on the cover.
  3049.  
  3050.    :barney: n.  In Commonwealth hackish, `barney' is to    {fred}
  3051. (sense #1) as {bar} is to {foo}.  That is, people    who commonly use
  3052. `fred' as their first metasyntactic variable    will often use `barney'
  3053. second.  The reference is, of course, to    Fred Flintstone and Barney
  3054. Rubble in the Flintstones cartoons.
  3055.  
  3056.    :baroque: adj.  [common] Feature-encrusted; complex;    gaudy;
  3057. verging on excessive.  Said of hardware or (esp.) software    designs,
  3058. this has many of the connotations of {elephantine} or    {monstrosity}
  3059. but is less extreme and not pejorative in itself.     "Metafont even
  3060. has features to introduce random variations to its    letterform
  3061. output.  Now _that_ is baroque!"  See also    {rococo}.
  3062.  
  3063.    :BASIC: /bay'-sic/ n.  A programming language,    originally
  3064. designed for Dartmouth's experimental timesharing system    in the
  3065. early 1960s, which for many years was the leading cause of    brain
  3066. damage in proto-hackers.  Edsger W. Dijkstra observed in    "Selected
  3067. Writings on Computing: A Personal Perspective" that    "It is
  3068. practically impossible to teach good programming style to    students
  3069. that have had prior exposure to BASIC: as potential    programmers they
  3070. are mentally mutilated beyond hope of    regeneration."  This is
  3071. another case (like {Pascal}) of the    cascading {lossage} that happens
  3072. when a language deliberately    designed as an educational toy gets
  3073. taken too seriously.  A novice    can write short BASIC programs (on
  3074. the order of 10-20 lines) very    easily; writing anything longer (a)
  3075. is very painful, and (b)    encourages bad habits that will make it
  3076. harder to use more powerful    languages well.  This wouldn't be so bad
  3077. if historical accidents    hadn't made BASIC so common on low-end
  3078. micros in the 1980s.  As it    is, it probably ruined tens of thousands
  3079. of potential wizards.
  3080.  
  3081.    [1995: Some languages called `BASIC' aren't quite this nasty any
  3082. more, having acquired Pascal- and C-like procedures and control
  3083. structures and shed their line numbers. --ESR]
  3084.  
  3085.    Note: the name is commonly parsed as Beginner's All-purpose Symbolic
  3086.   Instruction Code, but this is a {backronym}. BASIC was    originally
  3087. named Basic, simply because it was a simple and basic    programming
  3088. language.  Because most programming language names were    in fact
  3089. acronyms, BASIC was often capitalized just out of habit or    to be
  3090. silly.  No acronym for BASIC originally existed or was    intended (as
  3091. one can verify by reading texts through the early    1970s). Later,
  3092. around the mid-1970s, people began to make up    backronyms for BASIC
  3093. because they weren't sure.  Beginner's    All-purpose Symbolic
  3094. Instruction Code is the one that caught    on.
  3095.  
  3096.    :batbelt: n.  Many hackers routinely hang numerous devices    such
  3097. as pagers, cell-phones, personal organizers, leatherman    multitools,
  3098. pocket knives, flashlights, walkie-talkies, even    miniature computers
  3099. from their belts. When many of these devices    are worn at once, the
  3100. hacker's belt somewhat resembles Batman's    utility belt; hence it is
  3101. referred to as a batbelt.
  3102.  
  3103.    :batch: adj.  1. Non-interactive.  Hackers use this somewhat    more
  3104. loosely than the traditional technical definitions justify; in
  3105. particular, switches on a normally interactive program that prepare
  3106. it to receive non-interactive command input are often referred to    as
  3107. `batch mode' switches.  A `batch file' is a series of    instructions
  3108. written to be handed to an interactive program running    in batch
  3109. mode.  2. Performance of dreary tasks all at one sitting.     "I
  3110. finally sat down in batch mode and wrote out checks for all    those
  3111. bills; I guess they'll turn the electricity back on next    week..." 3.
  3112. `batching up': Accumulation of a number of small    tasks that can be
  3113. lumped together for greater efficiency.  "I'm    batching up those
  3114. letters to send sometime" "I'm batching up    bottles to take to the
  3115. recycling center."
  3116.  
  3117.    :bathtub curve: n.  Common term for the curve (resembling an
  3118. end-to-end section of one of those claw-footed antique bathtubs)
  3119. that describes the expected failure rate of electronics with time:
  3120. initially high, dropping to near 0 for most of the system's
  3121. lifetime, then rising again as it `tires out'.  See also    {burn-in
  3122. period}, {infant mortality}.
  3123.  
  3124.    :baud: /bawd/ n.  [simplified from its technical meaning]    n. Bits
  3125. per second.  Hence kilobaud or Kbaud, thousands of bits per    second.
  3126. The technical meaning is `level transitions per    second'; this
  3127. coincides with bps only for two-level modulation with    no framing or
  3128. stop bits.  Most hackers are aware of these nuances    but blithely
  3129. ignore them.
  3130.  
  3131.    Historical note: `baud' was originally a unit of telegraph
  3132. signalling speed, set at one pulse per second.  It was proposed at
  3133. the International Telegraph Conference of 1927, and named after
  3134. J.M.E.  Baudot (1845-1903), the French engineer who constructed    the
  3135. first successful teleprinter.
  3136.  
  3137.    :baud barf: /bawd barf/ n.  The garbage one gets on the    monitor
  3138. when using a modem connection with some protocol setting    (esp. line
  3139. speed) incorrect, or when someone picks up a voice    extension on the
  3140. same line, or when really bad line noise disrupts    the connection.
  3141. Baud barf is not completely {random}, by the    way; hackers with a lot
  3142. of serial-line experience can usually tell    whether the device at the
  3143. other end is expecting a higher or lower    speed than the terminal is
  3144. set to.  _Really_ experienced ones    can identify particular speeds.
  3145.  
  3146.    :baz: /baz/ n.  1. [common] The third {metasyntactic    variable}
  3147. "Suppose we have three functions: FOO, BAR, and BAZ.     FOO calls BAR,
  3148. which calls BAZ...." (See also {fum})    2. interj. A term of mild
  3149. annoyance.  In this usage the term is    often drawn out for 2 or 3
  3150. seconds, producing an effect not unlike    the bleating of a sheep;
  3151. /baaaaaaz/.  3. Occasionally appended to    {foo} to produce `foobaz'.
  3152.  
  3153.    Earlier versions of this lexicon derived `baz' as a Stanford
  3154. corruption of {bar}.  However, Pete Samson (compiler of the    {TMRC}
  3155. lexicon) reports it was already current when he joined TMRC    in 1958.
  3156. He says "It came from "Pogo".  Albert the Alligator,    when vexed or
  3157. outraged, would shout `Bazz Fazz!' or `Rowrbazzle!'     The club layout
  3158. was said to model the (mythical) New England    counties of Rowrfolk
  3159. and Bassex (Rowrbazzle mingled with
  3160. (Norfolk/Suffolk/Middlesex/Essex)."
  3161.  
  3162.    :bazaar: n.,adj.  In 1997, after contemplating the success    of
  3163. {Linux} for three years, the Jargon File's own editor ESR    wrote an
  3164. analytical paper on hacker culture and development models    titled The
  3165. Cathedral and the Bazaar
  3166. (http://www.tuxedo.org/~esr/writings/cathedral-bazaar/).  The main
  3167. argument of the paper was    that {Brooks's Law} ia not the whole
  3168. story; given the right    social machinery, debugging can be
  3169. efficiently parallelized across    large numbers of programmers.  The
  3170. title metaphor caught on (see    also {cathedral}), and the style of
  3171. development typical in the    Linux community is now often referred to
  3172. as the bazaar mode.  Its    characteristics include releasing code
  3173. early and often, and    actively seeking the largest possible pool of
  3174. peer reviewers.
  3175.  
  3176.    :bboard: /bee'bord/ n.  [contraction of `bulletin board']    1. Any
  3177. electronic bulletin board; esp. used of {BBS} systems    running on
  3178. personal micros, less frequently of a Usenet    {newsgroup} (in fact,
  3179. use of this term for a newsgroup generally    marks one either as a
  3180. {newbie} fresh in from the BBS world or as    a real old-timer
  3181. predating Usenet).  2. At CMU and other colleges    with similar
  3182. facilities, refers to campus-wide electronic bulletin    boards.  3.
  3183. The term `physical bboard' is sometimes used to refer    to an
  3184. old-fashioned, non-electronic cork-and-thumbtack memo board.     At
  3185. CMU, it refers to a particular one outside the CS Lounge.
  3186.  
  3187.    In either of senses 1 or 2, the term is usually prefixed by the
  3188. name of the intended board (`the Moonlight Casino bboard' or    `market
  3189. bboard'); however, if the context is clear, the better-read    bboards
  3190. may be referred to by name alone, as in (at CMU) "Don't    post
  3191. for-sale ads on general".
  3192.  
  3193.    :BBS: /B-B-S/ n.  [common; abbreviation, `Bulletin Board    System']
  3194. An electronic bulletin board system; that is, a message    database
  3195. where people can log in and leave broadcast messages for    others
  3196. grouped (typically) into {topic group}s.  The term was    especially
  3197. applied tto the thousands of local BBS systems that    operated during
  3198. the pre-Internet microcomputer era of roughly 1980    to 1995.,
  3199. typically run by amateurs for fun out of their homes on    MS-DOS boxes
  3200. with a single modem line each.  Fans of Usenet and    Internet or the
  3201. big commercial timesharing bboards such as    CompuServe and GEnie
  3202. tended to consider local BBSes the low-rent    district of the hacker
  3203. culture, but they served a valuable function    by knitting together
  3204. lots of hackers and users in the    personal-micro world who would
  3205. otherwise have been unable to    exchange code at all.  Post-Internet,
  3206. BBSs are likely to be local    newsgroups on an ISP; efficiency has
  3207. increased but a certain flavor    has been lost.  See also {bboard}.
  3208.  
  3209.    :BCPL: // n.  [abbreviation, `Basic Combined Programming
  3210. Language') A programming language developed by Martin Richards in
  3211. Cambridge in 1967. It is remarkable for its rich syntax, small size
  3212. of compiler (it can be run in 16k) and extreme portability. It
  3213. reached break-even point at a very early stage, and was the    language
  3214. in which the original {hello world} program was    written. It has been
  3215. ported to so many different systems that its    creator confesses to
  3216. having lost count. It has only one data type    (a machine word) which
  3217. can be used as an integer, a character, a    floating point number, a
  3218. pointer, or almost anything else,    depending on context.  BCPL was a
  3219. precursor of C, which inherited    some of its features.
  3220.  
  3221.    :beam: vt.  [from Star Trek Classic's "Beam me up,    Scotty!"]  1.
  3222. To transfer {softcopy} of a file electronically;    most often in
  3223. combining forms such as `beam me a copy' or `beam    that over to his
  3224. site'.  2. Palm Pilot users very commonly use this    term for the act
  3225. of exchanging bits via the infrared links on their    machines (this
  3226. term seams to have originated with the ill-fated    Newton Message
  3227. Pad).  Compare {blast}, {snarf}, {BLT}.
  3228.  
  3229.    :beanie key: n.  [Mac users] See {command key}.
  3230.  
  3231.    :beep: n.,v.  Syn. {feep}.  This term is techspeak under    MS-DOS
  3232. and OS/2, and seems to be generally preferred among micro    hobbyists.
  3233.  
  3234.    :Befunge: n.  A worthy companion to {INTERCAL}; a    computer
  3235. language family which escapes the quotidian limitation of linear
  3236. control flow and embraces program counters flying through multiple
  3237. dimensions with exotic topologies. For details, see the Befunge    home
  3238. page at `http://www.cats-eye.com/cet/soft/lang/befunge/'.
  3239.  
  3240.    :beige toaster: n.  A Macintosh. See {toaster}; compare
  3241. {Macintrash}, {maggotbox}.
  3242.  
  3243.    :bells and whistles: n.  [common] Features added to a    program or
  3244. system to make it more {flavorful} from a hacker's    point of view,
  3245. without necessarily adding to its utility for its    primary function.
  3246. Distinguished from {chrome}, which is    intended to attract users.
  3247. "Now that we've got the basic program    working, let's go back and add
  3248. some bells and whistles."  No one    seems to know what distinguishes a
  3249. bell from a whistle.  The    recognized emphatic form is "bells,
  3250. whistles, and gongs".
  3251.  
  3252.    It used to be thought that this term derived from the toyboxes on
  3253. theater organs.  However, the "and gongs" strongly suggests a
  3254. different origin, at sea.  Before powered horns, ships routinely
  3255. used bells, whistles, and gongs to signal each other over longer
  3256. distances than voice can carry.
  3257.  
  3258.    :bells whistles and gongs: n.  A standard elaborated form of
  3259. {bells and whistles}; typically said with a pronounced and    ironic
  3260. accent on the `gongs'.
  3261.  
  3262.    :benchmark: n.  [techspeak] An inaccurate measure of computer
  3263. performance.  "In the computer industry, there are three kinds of
  3264. lies: lies, damn lies, and benchmarks."  Well-known ones include
  3265. Whetstone, Dhrystone, Rhealstone (see {h}), the Gabriel LISP
  3266. benchmarks (see {gabriel}), the SPECmark suite, and LINPACK.     See
  3267. also {machoflops}, {MIPS}, {smoke and mirrors}.
  3268.  
  3269.    :Berkeley Quality Software: adj.  (often abbreviated `BQS')    Term
  3270. used in a pejorative sense to refer to software that was    apparently
  3271. created by rather spaced-out hackers late at night to    solve some
  3272. unique problem.  It usually has nonexistent, incomplete,    or
  3273. incorrect documentation, has been tested on at least two    examples,
  3274. and core dumps when anyone else attempts to use it.  This    term was
  3275. frequently applied to early versions of the `dbx(1)'    debugger.  See
  3276. also {Berzerkeley}.
  3277.  
  3278.    Note to British and Commonwealth readers: that's /berk'lee/, not
  3279. /bark'lee/ as in British Received Pronunciation.
  3280.  
  3281.    :berklix: /berk'liks/ n.,adj.  [contraction of `Berkeley    Unix']
  3282. See {BSD}.  Not used at Berkeley itself.  May be more    common among
  3283. {suit}s attempting to sound like cognoscenti than    among hackers, who
  3284. usually just say `BSD'.
  3285.  
  3286.    :Berzerkeley: /b*r-zer'klee/ n.  [from `berserk', via    the name of
  3287. a now-deceased record label; poss. originated by famed    columnist
  3288. Herb Caen] Humorous distortion of `Berkeley' used esp.     to refer to
  3289. the practices or products of the {BSD} Unix hackers.     See {software
  3290. bloat}, {Missed'em-five}, {Berkeley Quality    Software}.
  3291.  
  3292.    Mainstream use of this term in reference to the cultural and
  3293. political peculiarities of UC Berkeley as a whole has been reported
  3294. from as far back as the 1960s.
  3295.  
  3296.    :beta: /bay't*/, /be't*/ or (Commonwealth) /bee't*/ n.     1. Mostly
  3297. working, but still under test; usu. used with `in': `in    beta'.  In
  3298. the {Real World}, systems (hardware or software)    software often go
  3299. through two stages of release testing: Alpha    (in-house) and Beta
  3300. (out-house?).  Beta releases are generally made    to a group of lucky
  3301. (or unlucky) trusted customers.     2. Anything that is new and
  3302. experimental.  "His girlfriend is in    beta" means that he is still
  3303. testing for compatibility and    reserving judgment.  3. Flaky;
  3304. dubious; suspect (since beta    software is notoriously buggy).
  3305.  
  3306.    Historical note: More formally, to beta-test is to test a
  3307. pre-release (potentially unreliable) version of a piece of software
  3308. by making it available to selected (or self-selected) customers and
  3309. users.  This term derives from early 1960s terminology for product
  3310. cycle checkpoints, first used at IBM but later standard throughout
  3311. the industry.  `Alpha Test' was the unit, module, or component test
  3312. phase; `Beta Test' was initial system test.  These themselves came
  3313. from earlier A- and B-tests for hardware.  The A-test was a
  3314. feasibility and manufacturability evaluation done before any
  3315. commitment to design and development.  The B-test was a
  3316. demonstration that the engineering model functioned as specified.
  3317. The C-test (corresponding to today's beta) was the B-test performed
  3318. on early samples of the production design, and the D test was the C
  3319. test repeated after the model had been in production a while.
  3320.  
  3321.    :BFI: /B-F-I/ n.  See {brute force and ignorance}.  Also
  3322. encountered in the variants `BFMI', `brute force and    _massive_
  3323. ignorance' and `BFBI' `brute force and bloody    ignorance'.
  3324.  
  3325.    :bible: n.  1. One of a small number of fundamental source    books
  3326. such as {Knuth} and {K&R}.  2. The most detailed and    authoritative
  3327. reference for a particular language, operating    system, or other
  3328. complex software system.
  3329.  
  3330.    :BiCapitalization: n.  The act said to have been performed on
  3331. trademarks (such as {PostScript}, NeXT, {NeWS}, VisiCalc,
  3332. FrameMaker, TK!solver, EasyWriter) that have been raised above the
  3333. ruck of common coinage by nonstandard capitalization.  Too many
  3334. {marketroid} types think this sort of thing is really cute, even    the
  3335. 2,317th time they do it.  Compare {studlycaps}.
  3336.  
  3337.    :B1FF: /bif/ [Usenet] (alt. `BIFF') n.  The most famous    {pseudo},
  3338. and the prototypical {newbie}.  Articles from B1FF    feature all
  3339. uppercase letters sprinkled liberally with bangs,    typos, `cute'
  3340. misspellings (EVRY BUDY LUVS GOOD OLD BIFF CUZ    HE"S A K00L DOOD AN
  3341. HE RITES REEL AWESUM THINGZ IN CAPITULL LETTRS    LIKE THIS!!!), use
  3342. (and often misuse) of fragments of {talk mode}    abbreviations, a long
  3343. {sig block} (sometimes even a {doubled    sig}), and unbounded naivete.
  3344. B1FF posts articles using his    elder brother's VIC-20.  B1FF's
  3345. location is a mystery, as his    articles appear to come from a variety
  3346. of sites.  However,    {BITNET} seems to be the most frequent origin.
  3347. The theory that    B1FF is a denizen of BITNET is supported by B1FF's
  3348. (unfortunately    invalid) electronic mail address: B1FF@BIT.NET.
  3349.  
  3350.    [1993: Now It Can Be Told!  My spies inform me that B1FF was
  3351. originally created by Joe Talmadge <jat@cup.hp.com>, also the    author
  3352. of the infamous and much-plagiarized "Flamer's Bible".     The BIFF
  3353. filter he wrote was later passed to Richard Sexton, who    posted
  3354. BIFFisms much more widely.  Versions have since been posted    for the
  3355. amusement of the net at large. --ESR]
  3356.  
  3357.    :BI: //  Common written abbreviation for {Breidbart    Index}.
  3358.  
  3359.    :biff: /bif/ vt.  To notify someone of incoming mail.  From    the
  3360. BSD utility `biff(1)', which was in turn named after a    friendly dog
  3361. who used to chase frisbees in the halls at    UCB while 4.2BSD was in
  3362. development.  There was a legend that it    had a habit of barking
  3363. whenever the mailman came, but the author of    `biff' says this is not
  3364. true.  No relation to {B1FF}.
  3365.  
  3366.    :Big Gray Wall: n.  What faces a {VMS} user searching for
  3367. documentation.  A full VMS kit comes on a pallet, the documentation
  3368. taking up around 15 feet of shelf space before the addition of
  3369. layered products such as compilers, databases, multivendor
  3370. networking, and programming tools.  Recent (since VMS version 5)
  3371. documentation comes with gray binders; under VMS version 4 the
  3372. binders were orange (`big orange wall'), and under version 3 they
  3373. were blue.  See {VMS}.  Often contracted to `Gray Wall'.
  3374.  
  3375.    :big iron: n.  [common] Large, expensive, ultra-fast    computers.
  3376. Used generally of {number-crunching} supercomputers    such as Crays,
  3377. but can include more conventional big commercial    IBMish mainframes.
  3378. Term of approval; compare {heavy metal},    oppose {dinosaur}.
  3379.  
  3380.    :Big Red Switch: n.  [IBM] The power switch on a computer,    esp.
  3381. the `Emergency Pull' switch on an IBM {mainframe} or the    power
  3382. switch on an IBM PC where it really is large and red.  "This    !@%$%
  3383. {bitty box} is hung again; time to hit the Big Red    Switch."  Sources
  3384. at IBM report that, in tune with the company's    passion for {TLA}s,
  3385. this is often abbreviated as `BRS' (this    has also become established
  3386. on FidoNet and in the PC {clone}    world).  It is alleged that the
  3387. emergency pull switch on an IBM    360/91 actually fired a
  3388. non-conducting bolt into the main power    feed; the BRSes on more
  3389. recent mainframes physically drop a block    into place so that they
  3390. can't be pushed back in.  People get fired    for pulling them,
  3391. especially inappropriately (see also    {molly-guard}).  Compare {power
  3392. cycle}, {three-finger    salute}, {120 reset}; see also {scram switch}.
  3393.  
  3394.    :Big Room: n.  (Also `Big Blue Room') The extremely    large room
  3395. with the blue ceiling and intensely bright light (during    the day) or
  3396. black ceiling with lots of tiny night-lights (during    the night)
  3397. found outside all computer installations.  "He can't    come to the
  3398. phone right now, he's somewhere out in the Big Room."
  3399.  
  3400.    :big win: n.  1. [common] Major success.  2. [MIT]    Serendipity.
  3401. "Yes, those two physicists discovered    high-temperature
  3402. superconductivity in a batch of ceramic that had    been prepared
  3403. incorrectly according to their experimental schedule.     Small
  3404. mistake; big win!" See {win big}.
  3405.  
  3406.    :big-endian: adj.  [common; From Swift's "Gulliver's    Travels" via
  3407. the famous paper "On Holy Wars and a Plea for    Peace" by Danny Cohen,
  3408. USC/ISI IEN 137, dated April 1, 1980]    1. Describes a computer
  3409. architecture in which, within a given    multi-byte numeric
  3410. representation, the most significant byte has    the lowest address
  3411. (the word is stored `big-end-first').  Most    processors, including
  3412. the IBM 370 family, the {PDP-10}, the    Motorola microprocessor
  3413. families, and most of the various RISC    designs are big-endian.
  3414. Big-endian byte order is also sometimes    called `network order'. See
  3415. {little-endian},    {middle-endian}, {NUXI problem}, {swab}.  2. An
  3416. {{Internet address}} the wrong way round.  Most of the world    follows
  3417. the Internet standard and writes email addresses starting    with the
  3418. name of the computer and ending up with the name of the    country.  In
  3419. the U.K. the Joint Networking Team had decided to do    it the other
  3420. way round before the Internet domain standard was    established.  Most
  3421. gateway sites have {ad-hockery} in their    mailers to handle this, but
  3422. can still be confused.  In particular,    the address
  3423. me@uk.ac.bris.pys.as could be interpreted in    JANET's big-endian way
  3424. as one in the U.K. (domain uk) or in the    standard little-endian way
  3425. as one in the domain as (American    Samoa) on the opposite side of the
  3426. world.
  3427.  
  3428.    :bignum: /big'nuhm/ n.  [common; orig. from MIT MacLISP]    1.
  3429. [techspeak] A multiple-precision computer representation for    very
  3430. large integers.  2. More generally, any very large number.     "Have
  3431. you ever looked at the United States Budget?  There's    bignums for
  3432. you!"  3. [Stanford] In backgammon, large numbers on    the dice
  3433. especially a roll of double fives or double sixes (compare    {moby},
  3434. sense 4).  See also {El Camino Bignum}.
  3435.  
  3436.    Sense 1 may require some explanation.  Most computer languages
  3437. provide a kind of data called `integer', but such computer    integers
  3438. are usually very limited in size; usually they must be    smaller than
  3439. 2^(31) (2,147,483,648) or (on a    {bitty box}) 2^(15) (32,768).  If
  3440. you want to work    with numbers larger than that, you have to use
  3441. floating-point    numbers, which are usually accurate to only six or
  3442. seven decimal    places.  Computer languages that provide bignums can
  3443. perform exact    calculations on very large numbers, such as 1000! (the
  3444. factorial    of 1000, which is 1000 times 999 times 998 times ... times
  3445. 2    times 1).  For example, this value for 1000!  was computed by the
  3446.  MacLISP system using bignums:
  3447.  
  3448.      40238726007709377354370243392300398571937486421071
  3449.      46325437999104299385123986290205920442084869694048
  3450.      00479988610197196058631666872994808558901323829669
  3451.      94459099742450408707375991882362772718873251977950
  3452.      59509952761208749754624970436014182780946464962910
  3453.      56393887437886487337119181045825783647849977012476
  3454.      63288983595573543251318532395846307555740911426241
  3455.      74743493475534286465766116677973966688202912073791
  3456.      43853719588249808126867838374559731746136085379534
  3457.      52422158659320192809087829730843139284440328123155
  3458.      86110369768013573042161687476096758713483120254785
  3459.      89320767169132448426236131412508780208000261683151
  3460.      02734182797770478463586817016436502415369139828126
  3461.      48102130927612448963599287051149649754199093422215
  3462.      66832572080821333186116811553615836546984046708975
  3463.      60290095053761647584772842188967964624494516076535
  3464.      34081989013854424879849599533191017233555566021394
  3465.      50399736280750137837615307127761926849034352625200
  3466.      01588853514733161170210396817592151090778801939317
  3467.      81141945452572238655414610628921879602238389714760
  3468.      88506276862967146674697562911234082439208160153780
  3469.      88989396451826324367161676217916890977991190375403
  3470.      12746222899880051954444142820121873617459926429565
  3471.      81746628302955570299024324153181617210465832036786
  3472.      90611726015878352075151628422554026517048330422614
  3473.      39742869330616908979684825901254583271682264580665
  3474.      26769958652682272807075781391858178889652208164348
  3475.      34482599326604336766017699961283186078838615027946
  3476.      59551311565520360939881806121385586003014356945272
  3477.      24206344631797460594682573103790084024432438465657
  3478.      24501440282188525247093519062092902313649327349756
  3479.      55139587205596542287497740114133469627154228458623
  3480.      77387538230483865688976461927383814900140767310446
  3481.      64025989949022222176590433990188601856652648506179
  3482.      97023561938970178600408118897299183110211712298459
  3483.      01641921068884387121855646124960798722908519296819
  3484.      37238864261483965738229112312502418664935314397013
  3485.      74285319266498753372189406942814341185201580141233
  3486.      44828015051399694290153483077644569099073152433278
  3487.      28826986460278986432113908350621709500259738986355
  3488.      42771967428222487575867657523442202075736305694988
  3489.      25087968928162753848863396909959826280956121450994
  3490.      87170124451646126037902930912088908694202851064018
  3491.      21543994571568059418727489980942547421735824010636
  3492.      77404595741785160829230135358081840096996372524230
  3493.      56085590370062427124341690900415369010593398383577
  3494.      79394109700277534720000000000000000000000000000000
  3495.      00000000000000000000000000000000000000000000000000
  3496.      00000000000000000000000000000000000000000000000000
  3497.      00000000000000000000000000000000000000000000000000
  3498.      00000000000000000000000000000000000000000000000000
  3499.      000000000000000000.
  3500.  
  3501.    :bigot: n.  [common] A person who is religiously attached to a
  3502. particular computer, language, operating system, editor, or other
  3503. tool (see {religious issues}).  Usually found with a specifier;
  3504. thus, `cray bigot', `ITS bigot', `APL bigot', `VMS bigot',    `Berkeley
  3505. bigot'.  Real bigots can be distinguished from mere    partisans or
  3506. zealots by the fact that they refuse to learn    alternatives even when
  3507. the march of time and/or technology is    threatening to obsolete the
  3508. favored tool.  It is truly said "You    can tell a bigot, but you can't
  3509. tell him much."  Compare    {weenie}, {Amiga Persecution Complex}.
  3510.  
  3511.    :bit: n.  [from the mainstream meaning and `Binary digIT']    1.
  3512. [techspeak] The unit of information; the amount of information
  3513. obtained by asking a yes-or-no question for which the two outcomes
  3514. are equally probable.  2. [techspeak] A computational quantity that
  3515. can take on one of two values, such as true and false or 0 and 1.
  3516. 3. A mental flag: a reminder that something should be done
  3517. eventually.  "I have a bit set for you."  (I haven't seen you for    a
  3518. while, and I'm supposed to tell or ask you something.)  4. More
  3519. generally, a (possibly incorrect) mental state of belief.  "I have    a
  3520. bit set that says that you were the last guy to hack on EMACS."
  3521. (Meaning "I think you were the last guy to hack on EMACS, and what    I
  3522. am about to say is predicated on this, so please stop me if this
  3523. isn't true.")
  3524.  
  3525.    "I just need one bit from you" is a polite way of indicating that
  3526. you intend only a short interruption for a question that can
  3527. presumably be answered yes or no.
  3528.  
  3529.    A bit is said to be `set' if its value is true or 1, and    `reset'
  3530. or `clear' if its value is false or 0.  One speaks of    setting and
  3531. clearing bits.  To {toggle} or `invert' a bit is    to change it,
  3532. either from 0 to 1 or from 1 to 0.  See also    {flag}, {trit}, {mode
  3533. bit}.
  3534.  
  3535.    The term `bit' first appeared in print in the computer-science
  3536. sense in 1949, and seems to have been coined by early computer
  3537. scientist John Tukey.  Tukey records that it evolved over a lunch
  3538. table as a handier alternative to `bigit' or `binit'.
  3539.  
  3540.    :bit bang: n.  Transmission of data on a serial line, when
  3541. accomplished by rapidly tweaking a single output bit, in software,
  3542. at the appropriate times.  The technique is a simple loop with    eight
  3543. OUT and SHIFT instruction pairs for each byte.  Input is more
  3544. interesting.  And full duplex (doing input and output at the same
  3545. time) is one way to separate the real hackers from the    {wannabee}s.
  3546.  
  3547.    Bit bang was used on certain early models of Prime computers,
  3548. presumably when UARTs were too expensive, and on archaic Z80 micros
  3549. with a Zilog PIO but no SIO.  In an interesting instance of the
  3550. {cycle of reincarnation}, this technique returned to use in the
  3551. early 1990s on some RISC architectures because it consumes such    an
  3552. infinitesimal part of the processor that it actually makes sense    not
  3553. to have a UART.  Compare {cycle of reincarnation}.
  3554.  
  3555.    :bit bashing: n.  (alt. `bit diddling' or {bit    twiddling}) Term
  3556. used to describe any of several kinds of low-level    programming
  3557. characterized by manipulation of {bit}, {flag},    {nybble}, and other
  3558. smaller-than-character-sized pieces of data;    these include low-level
  3559. device control, encryption algorithms,    checksum and error-correcting
  3560. codes, hash functions, some flavors    of graphics programming (see
  3561. {bitblt}), and assembler/compiler    code generation.  May connote
  3562. either tedium or a real technical    challenge (more usually the
  3563. former).  "The command decoding for    the new tape driver looks pretty
  3564. solid but the bit-bashing for the    control registers still has bugs."
  3565. See also {bit bang},    {mode bit}.
  3566.  
  3567.    :bit bucket: n.  [very common] 1. The universal data sink
  3568. (originally, the mythical receptacle used to catch bits when they
  3569. fall off the end of a register during a shift instruction).
  3570. Discarded, lost, or destroyed data is said to have `gone to the    bit
  3571. bucket'.  On {{Unix}}, often used for {/dev/null}.     Sometimes
  3572. amplified as `the Great Bit Bucket in the Sky'.  2. The    place where
  3573. all lost mail and news messages eventually go.  The    selection is
  3574. performed according to {Finagle's Law}; important    mail is much more
  3575. likely to end up in the bit bucket than junk    mail, which has an
  3576. almost 100% probability of getting delivered.     Routing to the bit
  3577. bucket is automatically performed by    mail-transfer agents, news
  3578. systems, and the lower layers of the    network.  3. The ideal location
  3579. for all unwanted mail responses:    "Flames about this article to the
  3580. bit bucket."  Such a request is    guaranteed to overflow one's mailbox
  3581. with flames.  4. Excuse for    all mail that has not been sent.  "I
  3582. mailed you those figures last    week; they must have landed in the bit
  3583. bucket."  Compare {black    hole}.
  3584.  
  3585.    This term is used purely in jest.  It is based on the fanciful
  3586. notion that bits are objects that are not destroyed but only
  3587. misplaced.  This appears to have been a mutation of an earlier term
  3588. `bit box', about which the same legend was current; old-time    hackers
  3589. also report that trainees used to be told that when the CPU    stored
  3590. bits into memory it was actually pulling them `out of the    bit box'.
  3591. See also {chad box}.
  3592.  
  3593.    Another variant of this legend has it that, as a consequence of the
  3594.  `parity preservation law', the number of 1 bits that go to the bit
  3595. bucket must equal the number of 0 bits.  Any imbalance results in
  3596. bits filling up the bit bucket.  A qualified computer technician    can
  3597. empty a full bit bucket as part of scheduled maintenance.
  3598.  
  3599.    :bit decay: n.  See {bit rot}.  People with a physics    background
  3600. tend to prefer this variant for the analogy with    particle decay.
  3601. See also {computron}, {quantum    bogodynamics}.
  3602.  
  3603.    :bit rot: n.  [common] Also {bit decay}.  Hypothetical    disease
  3604. the existence of which has been deduced from the    observation that
  3605. unused programs or features will often stop    working after sufficient
  3606. time has passed, even if `nothing has    changed'.  The theory explains
  3607. that bits decay as if they were    radioactive.  As time passes, the
  3608. contents of a file or the code in    a program will become increasingly
  3609. garbled.
  3610.  
  3611.    There actually are physical processes that produce such effects
  3612. (alpha particles generated by trace radionuclides in ceramic chip
  3613. packages, for example, can change the contents of a computer memory
  3614. unpredictably, and various kinds of subtle media failures can
  3615. corrupt files in mass storage), but they are quite rare (and
  3616. computers are built with error-detecting circuitry to compensate    for
  3617. them).  The notion long favored among hackers that cosmic    rays are
  3618. among the causes of such events turns out to be a myth;    see the
  3619. {cosmic rays} entry for details.
  3620.  
  3621.    The term {software rot} is almost synonymous.  Software rot is
  3622. the effect, bit rot the notional cause.
  3623.  
  3624.    :bit twiddling: n.  [very common] 1. (pejorative) An    exercise in
  3625. tuning (see {tune}) in which incredible amounts of    time and effort
  3626. go to produce little noticeable improvement, often    with the result
  3627. that the code becomes incomprehensible.  2. Aimless    small
  3628. modification to a program, esp. for some pointless goal.     3. Approx.
  3629. syn. for {bit bashing}; esp. used for the act of    frobbing the device
  3630. control register of a peripheral in an attempt    to get it back to a
  3631. known state.
  3632.  
  3633.    :bit-paired keyboard: n.,obs.  (alt. `bit-shift    keyboard') A
  3634. non-standard keyboard layout that seems to have    originated with the
  3635. Teletype ASR-33 and remained common for several    years on early
  3636. computer equipment.  The ASR-33 was a mechanical    device (see {EOU}),
  3637. so the only way to generate the character    codes from keystrokes was
  3638. by some physical linkage.  The design of    the ASR-33 assigned each
  3639. character key a basic pattern that could    be modified by flipping
  3640. bits if the SHIFT or the CTRL key was    pressed.  In order to avoid
  3641. making the thing even more of a kluge    than it already was, the
  3642. design had to group characters that shared    the same basic bit
  3643. pattern on one key.
  3644.  
  3645.    Looking at the ASCII chart, we find:
  3646.  
  3647.      high  low bits
  3648.      bits  0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
  3649.       010        !    "    #    $    %    &    '    (    )
  3650.       011   0    1    2    3    4    5    6    7    8    9
  3651.  
  3652. This is why the characters !"#$%&'() appear where they do on a
  3653. Teletype (thankfully, they didn't use shift-0 for space).  This was
  3654. _not_ the weirdest variant of the {QWERTY} layout widely    seen, by
  3655. the way; that prize should probably go to one of several    (differing)
  3656. arrangements on IBM's even clunkier 026 and 029 card    punches.
  3657.  
  3658.    When electronic terminals became popular, in the early 1970s, there
  3659.  was no agreement in the industry over how the keyboards should be
  3660. laid out.  Some vendors opted to emulate the Teletype keyboard,
  3661. while others used the flexibility of electronic circuitry to make
  3662. their product look like an office typewriter.  These alternatives
  3663. became known as `bit-paired' and `typewriter-paired' keyboards.  To
  3664. a hacker, the bit-paired keyboard seemed far more logical -- and
  3665. because most hackers in those days had never learned to touch-type,
  3666. there was little pressure from the pioneering users to adapt
  3667. keyboards to the typewriter standard.
  3668.  
  3669.    The doom of the bit-paired keyboard was the large-scale
  3670. introduction of the computer terminal into the normal office
  3671. environment, where out-and-out technophobes were expected to use    the
  3672. equipment.  The `typewriter-paired' standard became universal,
  3673. `bit-paired' hardware was quickly junked or relegated to dusty
  3674. corners, and both terms passed into disuse.
  3675.  
  3676.    However, in countries without a long history of touch typing, the
  3677. argument against the bit-paired keyboard layout was weak or
  3678. nonexistent. As a result, the standard Japanese keyboard, used on
  3679. PC's, Unix boxen etc. still has all of the !"#$%&'() characters
  3680. above the numbers in the ASR-33 layout.
  3681.  
  3682.    :bitblt: /bit'blit/ n.  [from {BLT}, q.v.]     1. [common] Any of a
  3683. family of closely related algorithms for    moving and copying
  3684. rectangles of bits between main and display    memory on a bit-mapped
  3685. device, or between two areas of either main    or display memory (the
  3686. requirement to do the {Right Thing} in    the case of overlapping
  3687. source and destination rectangles is what    makes BitBlt tricky).  2.
  3688. Synonym for {blit} or {BLT}.  Both    uses are borderline techspeak.
  3689.  
  3690.    :BITNET: /bit'net/ n., obs.  [acronym: Because It's Time    NETwork]
  3691. Everybody's least favorite piece of the network (see    {the network})
  3692. - until AOL happened.  The BITNET hosts were a    collection of IBM
  3693. dinosaurs and VAXen (the latter with lobotomized    comm hardware) that
  3694. communicate using 80-character {{EBCDIC}} card    images (see
  3695. {eighty-column mind}); thus, they tend to mangle the    headers and
  3696. text of third-party traffic from the rest of the    ASCII/{RFC}-822
  3697. world with annoying regularity.  BITNET was also    notorious as the
  3698. apparent home of {B1FF}.  By 1995 it had, much    to everyone's relief,
  3699. been obsolesced and absorbed into the    Internet. Unfortunately,
  3700. around this time we also got AOL.
  3701.  
  3702.    :bits: pl.n.  1. Information.  Examples: "I need some bits    about
  3703. file formats."  ("I need to know about file formats.")     Compare
  3704. {core dump}, sense 4.  2. Machine-readable    representation of a
  3705. document, specifically as contrasted with    paper: "I have only a
  3706. photocopy of the Jargon File; does anyone    know where I can get the
  3707. bits?".  See {softcopy}, {source of    all good bits} See also {bit}.
  3708.  
  3709.    :bitty box: /bit'ee boks/ n.  1. A computer sufficiently    small,
  3710. primitive, or incapable as to cause a hacker acute    claustrophobia at
  3711. the thought of developing software on or for it.     Especially used of
  3712. small, obsolescent, single-tasking-only personal    machines such as
  3713. the Atari 800, Osborne, Sinclair, VIC-20, TRS-80,    or IBM PC.  2.
  3714. [Pejorative] More generally, the opposite of    `real computer' (see
  3715. {Get a real computer!}).  See also    {mess-dos}, {toaster}, and {toy}.
  3716.  
  3717.    :bixen: pl.n.  Users of BIX (the BIX Information eXchange,
  3718. formerly the Byte Information eXchange). Parallels other plurals
  3719. like boxen, {VAXen}, oxen.
  3720.  
  3721.    :bixie: /bik'see/ n.  Variant {emoticon}s used on BIX    (the Byte
  3722. Information eXchange).  The most common ({smiley})    bixie is <@_@>,
  3723. representing two cartoon eyes and a mouth.  These    were originally
  3724. invented in an SF fanzine called APA-L and imported    to BIX by one of
  3725. the earliest users.
  3726.  
  3727.    :black art: n.  [common] A collection of arcane,    unpublished, and
  3728. (by implication) mostly ad-hoc techniques    developed for a particular
  3729. application or systems area (compare    {black magic}).  VLSI design
  3730. and compiler code optimization were    (in their beginnings) considered
  3731. classic examples of black art; as    theory developed they became {deep
  3732. magic}, and once standard    textbooks had been written, became merely
  3733. {heavy wizardry}.  The    huge proliferation of formal and informal
  3734. channels for spreading    around new computer-related technologies
  3735. during the last twenty    years has made both the term `black art' and
  3736. what it describes    less common than formerly.  See also {voodoo
  3737. programming}.
  3738.  
  3739.    :black hole: n.,vt.  [common] What data (a piece of email    or
  3740. netnews, or a stream of TCP/IP packets) has fallen into if it
  3741. disappears mysteriously between its origin and destination sites
  3742. (that is, without returning a {bounce message}).  "I think    there's a
  3743. black hole at foovax!" conveys suspicion that site    foovax has been
  3744. dropping a lot of stuff on the floor lately    (see {drop on the
  3745. floor}).  The implied metaphor of email as    interstellar travel is
  3746. interesting in itself.  Readily verbed as    `blackhole': "That router
  3747. is blackholing IDP packets."  Compare    {bit bucket} aand see {RBL}.
  3748.  
  3749.    :black magic: n.  [common] A technique that works, though    nobody
  3750. really understands why.  More obscure than {voodoo    programming},
  3751. which may be done by cookbook.  Compare also    {black art}, {deep
  3752. magic}, and {magic number} (sense 2).
  3753.  
  3754.    :Black Screen of Death: n.  [prob. related to the    Floating Head
  3755. of Death in a famous "Far Side" cartoon.] A    failure mode of
  3756. {Microsloth Windows}.  On an attempt to launch a    DOS box, a
  3757. networked Windows system not uncommonly blanks the    screen and locks
  3758. up the PC so hard that it requires a cold    {boot} to recover. This
  3759. unhappy phenomenon is known as The Black    Screen of Death.  See also
  3760. {Blue Screen of Death}, which has    become rather more common.
  3761.  
  3762.    :Black Thursday: n.  February 8th, 1996 - the day of the    signing
  3763. into law of the {CDA}, so called by analogy with the    catastrophic
  3764. "Black Friday" in 1929 that began the Great    Depression.
  3765.  
  3766.    :blammo: v.  [Oxford Brookes University and alumni, UK] To
  3767. forcibly remove someone from any interactive system, especially
  3768. talker systems. The operators, who may remain hidden, may `blammo'    a
  3769. user who is misbehaving.  Very similar to MIT {gun}; in fact,    the
  3770. `blammo-gun' is a notional device used to `blammo' someone.     While
  3771. in actual fact the only incarnation of the blammo-gun is the    command
  3772. used to forcibly eject a user, operators speak of different    levels
  3773. of blammo-gun fire; e.g., a blammo-gun to `stun' will    temporarily
  3774. remove someone, but a blammo-gun set to `maim' will    stop someone
  3775. coming back on for a while.
  3776.  
  3777.    :blargh: /blarg/ n.  [MIT; now common] The opposite of    {ping},
  3778. sense 5; an exclamation indicating that one has absorbed    or is
  3779. emitting a quantum of unhappiness.  Less common than    {ping}.
  3780.  
  3781.    :blast: 1. v.,n.  Synonym for {BLT}, used esp. for large    data
  3782. sends over a network or comm line.  Opposite of {snarf}.     Usage:
  3783. uncommon.  The variant `blat' has been reported.  2. vt.
  3784. [HP/Apollo] Synonymous with {nuke} (sense 3).  Sometimes the    message
  3785. `Unable to kill all processes.  Blast them (y/n)?'    would appear in
  3786. the command window upon logout.
  3787.  
  3788.    :blat: n.  1. Syn. {blast}, sense 1.  2. See {thud}.
  3789.  
  3790.    :bletch: /blech/ interj.  [very common; from    Yiddish/German
  3791. `brechen', to vomit, poss.  via comic-strip    exclamation `blech']
  3792. Term of disgust.  Often used in "Ugh,    bletch".  Compare {barf}.
  3793.  
  3794.    :bletcherous: /blech'*-r*s/ adj.  Disgusting in design or
  3795. function; esthetically unappealing.  This word is seldom used of
  3796. people.  "This keyboard is bletcherous!" (Perhaps the keys don't
  3797. work very well, or are misplaced.)  See {losing},    {cretinous},
  3798. {bagbiting}, {bogus}, and {random}.  The    term {bletcherous} applies
  3799. to the esthetics of the thing so    described; similarly for
  3800. {cretinous}.  By contrast, something    that is `losing' or `bagbiting'
  3801. may be failing to meet    objective criteria.  See also {bogus} and
  3802. {random}, which    have richer and wider shades of meaning than any of
  3803. the above.
  3804.  
  3805.    :blink: vi.,n.  To use a navigator or off-line message    reader to
  3806. minimize time spent on-line to a commercial network    service (a
  3807. necessity in many places outside the U.S. where the    telecoms
  3808. monopolies charge per-minute for local calls).  As of late    1994,
  3809. this term was said to be in wide use in the UK, but is rare    or
  3810. unknown in the US.
  3811.  
  3812.    :blinkenlights: /blink'*n-li:tz/ n.  [common] Front-panel
  3813. diagnostic lights on a computer, esp. a {dinosaur}.  Now that
  3814. dinosaurs are rare, this term usually refers to status lights on a
  3815. modem, network hub, or the like.
  3816.  
  3817.    This term derives from the last word of the famous
  3818. blackletter-Gothic sign in mangled pseudo-German that once graced
  3819. about half the computer rooms in the English-speaking world.  One
  3820. version ran in its entirety as follows:
  3821.  
  3822.                     ACHTUNG!  ALLES LOOKENSPEEPERS!
  3823.  
  3824.      Das computermachine ist nicht fuer gefingerpoken und mittengrabben.
  3825.      Ist easy schnappen der springenwerk, blowenfusen und poppencorken
  3826.      mit spitzensparken.  Ist nicht fuer gewerken bei das dumpkopfen.
  3827.      Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das
  3828.      pockets muss; relaxen und watchen das blinkenlichten.
  3829.  
  3830. This silliness dates back at least as far as 1959 at Stanford
  3831. University and had already gone international by the early 1960s,
  3832. when it was reported at London University's ATLAS computing site.
  3833. There are several variants of it in circulation, some of which
  3834. actually do end with the word `blinkenlights'.
  3835.  
  3836.    In an amusing example of turnabout-is-fair-play, German hackers
  3837. have developed their own versions of the blinkenlights poster in
  3838. fractured English, one of which is reproduced here:
  3839.  
  3840.                                ATTENTION
  3841.  
  3842.      This room is fullfilled mit special electronische equippment.
  3843.      Fingergrabbing and pressing the cnoeppkes from the computers is
  3844.      allowed for die experts only!  So all the "lefthanders" stay away
  3845.      and do not disturben the brainstorming von here working
  3846.      intelligencies.  Otherwise you will be out thrown and kicked
  3847.      anderswhere!  Also: please keep still and only watchen astaunished
  3848.      the blinkenlights.
  3849.  
  3850. See also {geef}.
  3851.  
  3852.    Old-time hackers sometimes get nostalgic for blinkenlights because
  3853. they were so much more fun to look at than a blank panel.  Sadly,
  3854. very few computers still have them (the three LEDs on a PC keyboard
  3855. certainly don't count). The obvious reasons (cost of wiring, cost    of
  3856. front-panel cutouts, almost nobody needs or wants to interpret
  3857. machine-register states on the fly anymore) are only part of the
  3858. story.  Another part of it is that radio-frequency leakage from the
  3859. lamp wiring was beginning to be a problem as far back as transistor
  3860. machines.  But the most fundamental fact is that there are very few
  3861. signals slow enough to blink an LED these days!  With slow CPUs,    you
  3862. could watch the bus register or instruction counter tick, but    at
  3863. 33/66/150MHz it's all a blur.
  3864.  
  3865.    Finally, a version updated for the Internet has been seen on
  3866. news.admin.net-abuse.email:
  3867.  
  3868.                     ACHTUNG! ALLES LOOKENSPEEPERS!
  3869.  
  3870.      Das Internet is nicht fuer gefingerclicken und giffengrabben. Ist
  3871.      easy droppenpacket der routers und overloaden der backbone mit der
  3872.      spammen und der me-tooen.  Ist nicht fuer gewerken bei das
  3873.      dumpkopfen. Das mausklicken sichtseeren keepen das bandwit-spewin
  3874.      hans in das pockets muss; relaxen und watchen das cursorblinken.
  3875.  
  3876.    :blit: /blit/ vt.  1. [common] To copy a large array of    bits from
  3877. one part of a computer's memory to another part,    particularly when
  3878. the memory is being used to determine what is    shown on a display
  3879. screen.  "The storage allocator picks through    the table and copies
  3880. the good parts up into high memory, and then    blits it all back down
  3881. again."  See {bitblt}, {BLT},    {dd}, {cat}, {blast}, {snarf}.  More
  3882. generally, to    perform some operation (such as toggling) on a large
  3883. array of bits    while moving them.  2. [historical, rare] Sometimes
  3884. all-capitalized    as `BLIT': an early experimental bit-mapped terminal
  3885. designed by    Rob Pike at Bell Labs, later commercialized as the AT&T
  3886. 5620.  (The    folk etymology from `Bell Labs Intelligent Terminal' is
  3887. incorrect.     Its creators liked to claim that "Blit" stood for the
  3888. Bacon,    Lettuce, and Interactive Tomato.)
  3889.  
  3890.    :blitter: /blit'r/ n.  [common] A special-purpose chip    or
  3891. hardware system built to perform {blit} operations, esp.     used for
  3892. fast implementation of bit-mapped graphics.  The Commodore    Amiga and
  3893. a few other micros have these, but since 1990 the trend    has been
  3894. away from them (however, see {cycle of reincarnation}).     Syn.
  3895. {raster blaster}.
  3896.  
  3897.    :blivet: /bliv'*t/ n.  [allegedly from a World War II    military
  3898. term meaning "ten pounds of manure in a five-pound bag"]    1. An
  3899. intractable problem.  2. A crucial piece of hardware that    can't be
  3900. fixed or replaced if it breaks.  3. A tool that has been    hacked over
  3901. by so many incompetent programmers that it has become    an
  3902. unmaintainable tissue of hacks.  4. An out-of-control but    unkillable
  3903. development effort.  5. An embarrassing bug that pops up    during a
  3904. customer demo.  6. In the subjargon of computer security
  3905. specialists, a denial-of-service attack performed by hogging    limited
  3906. resources that have no access controls (for example, shared    spool
  3907. space on a multi-user system).
  3908.  
  3909.    This term has other meanings in other technical cultures; among
  3910. experimental physicists and hardware engineers of various kinds it
  3911. seems to mean any random object of unknown purpose (similar to
  3912. hackish use of {frob}).  It has also been used to describe an
  3913. amusing trick-the-eye drawing resembling a three-pronged fork that
  3914. appears to depict a three-dimensional object until one realizes    that
  3915. the parts fit together in an impossible way.
  3916.  
  3917.    :bloatware: n.  [common] Software that provides minimal
  3918. functionality while requiring a disproportionate amount of    diskspace
  3919. and memory.  Especially used for application and OS upgrades.     This
  3920. term is very common in the Windows/NT world.  So is its    cause.
  3921.  
  3922.    :BLOB:  1. n. [acronym: Binary Large OBject] Used by database
  3923. people to refer to any random large block of bits that needs to be
  3924. stored in a database, such as a picture or sound file.  The
  3925. essential point about a BLOB is that it's an object that cannot be
  3926. interpreted within the database itself.  2. v. To {mailbomb}    someone
  3927. by sending a BLOB to him/her; esp. used as a mild threat.     "If that
  3928. program crashes again, I'm going to BLOB the core dump to    you."
  3929.  
  3930.    :block: v.  [common; from process scheduling terminology    in OS
  3931. theory] 1. vi.  To delay or sit idle while waiting for    something.
  3932. "We're blocking until everyone gets here."  Compare    {busy-wait}.  2.
  3933. `block on' vt. To block, waiting for    (something).  "Lunch is blocked
  3934. on Phil's arrival."
  3935.  
  3936.    :block transfer computations: n.  [from the television series
  3937. "Dr. Who"] Computations so fiendishly subtle and complex that    they
  3938. could not be performed by machines.  Used to refer to any task    that
  3939. should be expressible as an algorithm in theory, but isn't.     (The
  3940. Z80's LDIR instruction, "Computed Block Transfer with    increment",
  3941. may also be relevant.)
  3942.  
  3943.    :Bloggs Family: n.  An imaginary family consisting of    Fred and
  3944. Mary Bloggs and their children.  Used as a standard    example in
  3945. knowledge representation to show the difference between    extensional
  3946. and intensional objects.  For example, every occurrence    of "Fred
  3947. Bloggs" is the same unique person, whereas occurrences    of "person"
  3948. may refer to different people.  Members of the Bloggs    family have
  3949. been known to pop up in bizarre places such as the old    {DEC}
  3950. Telephone Directory.  Compare {Dr. Fred Mbogo};    {J. Random Hacker};
  3951. {Fred Foobar}.
  3952.  
  3953.    :blow an EPROM: /bloh *n ee'prom/ v.  (alt. `blast an    EPROM',
  3954. `burn an EPROM') To program a read-only memory, e.g.     for use with
  3955. an embedded system.  This term arose because the    programming process
  3956. for the Programmable Read-Only Memories (PROMs)    that preceded
  3957. present-day Erasable Programmable Read-Only Memories    (EPROMs)
  3958. involved intentionally blowing tiny electrical fuses on    the chip.
  3959. The usage lives on (it's too vivid and expressive to    discard) even
  3960. though the write process on EPROMs is nondestructive.
  3961.  
  3962.    :blow away: vt.  To remove (files and directories) from    permanent
  3963. storage, generally by accident.  "He reformatted the    wrong partition
  3964. and blew away last night's netnews."  Oppose    {nuke}.
  3965.  
  3966.    :blow out: vi.  [prob. from mining and tunneling jargon] Of
  3967. software, to fail spectacularly; almost as serious as {crash and
  3968. burn}.  See {blow past}, {blow up}, {die horribly}.
  3969.  
  3970.    :blow past: vt.  To {blow out} despite a safeguard.  "The    server
  3971. blew past the 5K reserve buffer."
  3972.  
  3973.    :blow up: vi.  1. [scientific computation] To become unstable.
  3974. Suggests that the computation is diverging so rapidly that it will
  3975. soon overflow or at least go {nonlinear}.  2.  Syn. {blow    out}.
  3976.  
  3977.    :BLT: /B-L-T/, /bl*t/ or (rarely) /belt/ n.,vt.  Synonym    for
  3978. {blit}.  This is the original form of {blit} and the    ancestor of
  3979. {bitblt}.  It referred to any large bit-field copy    or move operation
  3980. (one resource-intensive memory-shuffling    operation done on pre-paged
  3981. versions of ITS, WAITS, and TOPS-10 was    sardonically referred to as
  3982. `The Big BLT').  The jargon usage has    outlasted the {PDP-10} BLock
  3983. Transfer instruction from which    {BLT} derives; nowadays, the
  3984. assembler mnemonic {BLT} almost    always means `Branch if Less Than
  3985. zero'.
  3986.  
  3987.    :Blue Book: n.  1. Informal name for one of the four standard
  3988. references on the page-layout and graphics-control language
  3989. {{PostScript}} ("PostScript Language Tutorial and Cookbook",    Adobe
  3990. Systems, Addison-Wesley 1985, QA76.73.P67P68, ISBN    0-201-10179-3);
  3991. the other three official guides are known as the    {Green Book}, the
  3992. {Red Book}, and the {White Book} (sense    2).  2. Informal name for
  3993. one of the three standard references on    Smalltalk: "Smalltalk-80:
  3994. The Language and its    Implementation", David Robson, Addison-Wesley
  3995. 1983, QA76.8.S635G64,    ISBN 0-201-11371-63 (this book also has green
  3996. and red siblings).     3. Any of the 1988 standards issued by the
  3997. CCITT's ninth plenary    assembly.  These include, among other things,
  3998. the X.400 email spec    and the Group 1 through 4 fax standards.  See
  3999. also {{book    titles}}.
  4000.  
  4001.    :blue box:  n. 1. obs. Once upon a time, before    all-digital
  4002. switches made it possible for the phone companies to    move them out
  4003. of band, one could actually hear the switching tones    used to route
  4004. long-distance calls.  Early {phreaker}s built    devices called `blue
  4005. boxes' that could reproduce these tones,    which could be used to
  4006. commandeer portions of the phone network.     (This was not as hard as
  4007. it may sound; one early phreak acquired    the sobriquet `Captain
  4008. Crunch' after he proved that he could    generate switching tones with
  4009. a plastic whistle pulled out of a box    of Captain Crunch cereal!)
  4010. There were other colors of box with more    specialized phreaking uses;
  4011. red boxes, black boxes, silver boxes,    etc.  2. n. An {IBM} machine,
  4012. especially a large (non-PC)    one.
  4013.  
  4014.    :Blue Glue: n.  [IBM] IBM's SNA (Systems Network    Architecture),
  4015. an incredibly {losing} and {bletcherous}    communications protocol
  4016. widely favored at commercial shops that    don't know any better.  The
  4017. official IBM definition is "that which    binds blue boxes together."
  4018. See {fear and loathing}.  It may    not be irrelevant that Blue Glue is
  4019. the trade name of a 3M    product that is commonly used to hold down
  4020. the carpet squares to    the removable panel floors common in {dinosaur
  4021. pen}s.  A    correspondent at U. Minn. reports that the CS department
  4022. there has    about 80 bottles of the stuff hanging about, so they often
  4023. refer to    any messy work to be done as `using the blue glue'.
  4024.  
  4025.    :blue goo: n.  Term for `police' {nanobot}s intended to    prevent
  4026. {gray goo}, denature hazardous waste, destroy pollution,    put ozone
  4027. back into the stratosphere, prevent halitosis, and    promote truth,
  4028. justice, and the American way, etc.  The term    `Blue Goo' can be
  4029. found in Dr. Seuss's "Fox In Socks" to    refer to a substance much
  4030. like bubblegum.  `Would you like to    chew blue goo, sir?'.  See
  4031. {{nanotechnology}}.
  4032.  
  4033.    :Blue Screen of Death: n.  [common] This term is closely    related
  4034. to the older {Black Screen of Death} but much more    common (many
  4035. non-hackers have picked it up).  Due to the extreme    fragility and
  4036. bugginess of Microsoft Windows (3.1/95/NT versions),    misbehaving
  4037. applications can crash the OS.  The Blue Screen of    Death, sometimes
  4038. decorated with hex error codes, is what you get    when this happens.
  4039. (Commonly abbreviated {BSOD}.)  This event    is sufficiently common to
  4040. have inspired the following haiku from    Alan Tuplin:
  4041.  
  4042.              Your system which soared
  4043.              So freely on gliding wings
  4044.              now hangs, frozen and blue
  4045.  
  4046.    The following entry from the    Salon Haiku Contest
  4047. (http://www.salonmagazine.com/21st/chal/1998/02/10chal2.html), seems to
  4048. have predated popular use of the    term (and may indeed have inspired
  4049. it):
  4050.  
  4051.              Windows NT crashed.
  4052.              I am the Blue Screen of Death
  4053.              No one hears your screams.
  4054.  
  4055.    :blue wire: n.  [IBM] Patch wires added to circuit boards at    the
  4056. factory to correct design or fabrication problems.  These may    be
  4057. necessary if there hasn't been time to design and qualify    another
  4058. board version.  Compare {purple wire}, {red wire},    {yellow wire},
  4059. {pink wire}.
  4060.  
  4061.    :blurgle: /bler'gl/ n.  [UK] Spoken {metasyntactic    variable}, to
  4062. indicate some text that is obvious from context, or    which is already
  4063. known. If several words are to be replaced,    blurgle may well be
  4064. doubled or tripled. "To look for something in    several files use
  4065. `grep string blurgle blurgle'."  In each case,    "blurgle blurgle"
  4066. would be understood to be replaced by the file    you wished to search.
  4067. Compare {mumble}, sense 7.
  4068.  
  4069.    :BNF: /B-N-F/ n.  1. [techspeak] Acronym for `Backus-Naur    Form',
  4070. a metasyntactic notation used to specify the syntax of    programming
  4071. languages, command sets, and the like.  Widely used for    language
  4072. descriptions but seldom documented anywhere, so that it    must usually
  4073. be learned by osmosis from other hackers.  Consider    this BNF for a
  4074. U.S. postal address:
  4075.  
  4076.       <postal-address> ::= <name-part> <street-address> <zip-part>
  4077.  
  4078.       <personal-part> ::= <name> | <initial> "."
  4079.  
  4080.       <name-part> ::= <personal-part> <last-name> [<jr-part>] <EOL>
  4081.                     | <personal-part> <name-part>
  4082.  
  4083.       <street-address> ::= [<apt>] <house-num> <street-name> <EOL>
  4084.  
  4085.       <zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL>
  4086.  
  4087. This translates into English as: "A postal-address consists of a
  4088. name-part, followed by a street-address part, followed by a    zip-code
  4089. part.  A personal-part consists of either a first name or    an initial
  4090. followed by a dot.  A name-part consists of either: a    personal-part
  4091. followed by a last name followed by an optional    `jr-part' (Jr., Sr.,
  4092. or dynastic number) and end-of-line, or a    personal part followed by
  4093. a name part (this rule illustrates the    use of recursion in BNFs,
  4094. covering the case of people who use    multiple first and middle names
  4095. and/or initials).  A street address    consists of an optional
  4096. apartment specifier, followed by a street    number, followed by a
  4097. street name.  A zip-part consists of a    town-name, followed by a
  4098. comma, followed by a state code, followed    by a ZIP-code followed by
  4099. an end-of-line."  Note that many things    (such as the format of a
  4100. personal-part, apartment specifier, or    ZIP-code) are left
  4101. unspecified.  These are presumed to be obvious    from context or
  4102. detailed somewhere nearby.  See also {parse}.     2. Any of a number of
  4103. variants and extensions of BNF proper,    possibly containing some or
  4104. all of the {regexp} wildcards such    as `*' or `+'.  In fact the
  4105. example above isn't the pure    form invented for the Algol-60 report;
  4106. it uses `[]', which was    introduced a few years later in IBM's PL/I
  4107. definition but is now    universally recognized.  3. In
  4108. {{science-fiction fandom}}, a    `Big-Name Fan' (someone famous or
  4109. notorious).  Years ago a fan    started handing out black-on-green BNF
  4110. buttons at SF conventions;    this confused the hacker contingent
  4111. terribly.
  4112.  
  4113.    :boa: [IBM] n.  Any one of the fat cables that lurk under the
  4114. floor in a {dinosaur pen}.  Possibly so called because they    display
  4115. a ferocious life of their own when you try to lay them    straight and
  4116. flat after they have been coiled for some time.  It is    rumored
  4117. within IBM that channel cables for the 370 are limited to    200 feet
  4118. because beyond that length the boas get dangerous -- and    it is worth
  4119. noting that one of the major cable makers uses the    trademark
  4120. `Anaconda'.
  4121.  
  4122.    :board: n.  1. In-context synonym for {bboard}; sometimes    used
  4123. even for Usenet newsgroups (but see usage note under    {bboard}, sense
  4124. 1).  2. An electronic circuit board.
  4125.  
  4126.    :boat anchor: n.  [common; from ham radio] 1. Like {doorstop}    but
  4127. more severe; implies that the offending hardware is    irreversibly
  4128. dead or useless.  "That was a working motherboard    once.  One
  4129. lightning strike later, instant boat anchor!"  2. A    person who just
  4130. takes up space. 3. Obsolete but still    working hardware, especially
  4131. when used of an old S100-bus hobbyist    system; originally a term of
  4132. annoyance, but became more and more    affectionate as the hardware
  4133. became more and more obsolete.
  4134.  
  4135.    :bob: n.  At Demon Internet, all tech support personal are    called
  4136. "Bob".  (Female support personnel have an option on    "Bobette").
  4137. This has nothing to do with Bob the divine    drilling-equipment
  4138. salesman of the {Church of the SubGenius}.     Nor is it acronymized
  4139. from "Brother Of {BOFH}", though all    parties agree it could have
  4140. been.  Rather, it was triggered by an    unusually large draft of new
  4141. tech-support people in 1995.  It was    observed that there would be
  4142. much duplication of names.  To ease    the confusion, it was decided
  4143. that all support techs would    henceforth be known as "Bob", and
  4144. identity badges were created    labelled "Bob 1" and "Bob 2".  (No, we
  4145. never got any further).
  4146.  
  4147.    The reason for "Bob" rather than anything else is due to a
  4148. {luser} calling and asking to speak to "Bob", despite the fact    that
  4149. no "Bob" was currently working for Tech Support.  Since we    all know
  4150. "the customer is always right", it was decided that    there had to be
  4151. at least one "Bob" on duty at all times, just in    case.
  4152.  
  4153.    This sillyness inexorably snowballed.  Shift leaders and managers
  4154. began to refer to their groups of "bobs".  Whole ranks of support
  4155. machines were set up (and still exist in the DNS as of 1999) as    bob1
  4156. through bobN. Then came alt.tech-support.recovery, and    it was filled
  4157. with Demon support personnel.  They    all referred to themselves, and
  4158. to others, as `bob', and after a while it    caught on.   There is now a
  4159.   Bob Code (http://bob.bob.bofh.org/~giolla/bobcode.html)
  4160. describing the Bob nature.
  4161.  
  4162.    :bodysurf code: n.  A program or segment of code written    quickly
  4163. in the heat of inspiration without the benefit of formal    design or
  4164. deep thought.  Like its namesake sport, the result is    too often a
  4165. wipeout that leaves the programmer eating sand.
  4166.  
  4167.    :BOF: /B-O-F/ or /bof/ n.  1. [common] Abbreviation    for the
  4168. phrase "Birds Of a Feather" (flocking together), an    informal
  4169. discussion group and/or bull session scheduled on a    conference
  4170. program.  It is not clear where or when this term    originated, but it
  4171. is now associated with the USENIX conferences    for Unix techies and
  4172. was already established there by 1984.  It was    used earlier than
  4173. that at DECUS conferences and is reported to have    been common at
  4174. SHARE meetings as far back as the early 1960s.     2. Acronym,
  4175. `Beginning of File'.
  4176.  
  4177.    :BOFH: // n.  [common] Acronym, Bastard Operator From    Hell.  A
  4178. system administrator with absolutely no tolerance for    {luser}s.
  4179. "You say you need more filespace?     <massive-global-delete> Seems to
  4180. me you have plenty left..."  Many    BOFHs (and others who would be
  4181. BOFHs if they could get away with    it) hang out in the newsgroup
  4182. alt.sysadmin.recovery,    although there has also been created a
  4183. top-level newsgroup    hierarchy (bofh.*) of their own.
  4184.  
  4185.    Several people have written stories about BOFHs. The set usually
  4186. considered canonical is by Simon Travaglia and may be found at the
  4187. Bastard Home Page,
  4188. `http://prime-mover.cc.waikato.ac.nz/Bastard.html'. BOFHs and    BOFH
  4189. wannabes hang out on {scary devil monastery} and wield    {LART}s.
  4190.  
  4191.    :bogo-sort: /boh`goh-sort'/ n.  (var. `stupid-sort')    The
  4192. archetypical perversely awful algorithm (as opposed to    {bubble
  4193. sort}, which is merely the generic _bad_    algorithm).  Bogo-sort is
  4194. equivalent to repeatedly throwing a deck    of cards in the air,
  4195. picking them up at random, and then testing    whether they are in
  4196. order.  It serves as a sort of canonical    example of awfulness.
  4197. Looking at a program and seeing a dumb    algorithm, one might say "Oh,
  4198. I see, this program uses    bogo-sort."  Esp.  appropriate for
  4199. algorithms with factorial or    super-exponential running time in the
  4200. average case and    probabilistically infinite worst-case running time.
  4201. Compare    {bogus}, {brute force}, {lasherism}.
  4202.  
  4203.    A spectacular variant of bogo-sort has been proposed which has the
  4204. interesting property that, if the Many Worlds interpretation of
  4205. quantum mechanics is true, it can sort an arbitrarily large array    in
  4206. constant time.  (In the Many-Worlds model, the result of any    quantum
  4207. action is to split the universe-before into a sheaf of
  4208. universes-after, one for each possible way the state vector can
  4209. collapse; in any one of the universes-after the result appears random.)
  4210.   The steps are: 1. Permute the array randomly using a quantum
  4211. process, 2. If the array is not sorted, destroy the universe.
  4212. Implementation of step 2 is left as an exercise for the    reader.
  4213.  
  4214.    :bogometer: /boh-gom'-*t-er/ n.  A notional instrument    for
  4215. measuring {bogosity}.  Compare the {Troll-O-Meter} and    the
  4216. `wankometer' described in the {wank} entry; see also    {bogus}.
  4217.  
  4218.    :bogon: /boh'gon/ n.  [very common; by analogy with
  4219. proton/electron/neutron, but doubtless reinforced after 1980 by the
  4220. similarity to Douglas Adams's `Vogons'; see the {Bibliography}    in
  4221. Appendix C and note that Arthur Dent actually mispronounces    `Vogons'
  4222. as `Bogons' at one point] 1. The elementary particle of    bogosity
  4223. (see {quantum bogodynamics}).  For instance, "the    Ethernet is
  4224. emitting bogons again" means that it is broken or    acting in an
  4225. erratic or bogus fashion.  2. A query packet sent from    a TCP/IP
  4226. domain resolver to a root server, having the reply bit set    instead
  4227. of the query bit.  3. Any bogus or incorrectly formed    packet sent on
  4228. a network.  4. By synecdoche, used to refer to any    bogus thing, as
  4229. in "I'd like to go to lunch with you but I've got    to go to the
  4230. weekly staff bogon".  5. A person who is bogus or    who says bogus
  4231. things.  This was historically the original usage,    but has been
  4232. overtaken by its derivative senses 1-4.  See also    {bogosity},
  4233. {bogus}; compare {psyton}, {fat electrons},    {magic smoke}.
  4234.  
  4235.    The bogon has become the type case for a whole bestiary of nonce
  4236. particle names, including the `clutron' or `cluon' (indivisible
  4237. particle of cluefulness, obviously the antiparticle of the bogon)
  4238. and the futon (elementary particle of {randomness}, or sometimes    of
  4239. lameness).  These are not so much live usages in themselves as
  4240. examples of a live meta-usage: that is, it has become a standard
  4241. joke or linguistic maneuver to "explain" otherwise mysterious
  4242. circumstances by inventing nonce particle names.  And these imply
  4243. nonce particle theories, with all their dignity or lack thereof (we
  4244. might note parenthetically that this is a generalization from
  4245. "(bogus particle) theories" to "bogus (particle theories)"!).
  4246. Perhaps such particles are the modern-day equivalents of trolls and
  4247. wood-nymphs as standard starting-points around which to construct
  4248. explanatory myths.  Of course, playing on an existing word (as in
  4249. the `futon') yields additional flavor.  Compare {magic    smoke}.
  4250.  
  4251.    :bogon filter: /boh'gon fil'tr/ n.  Any device, software or
  4252. hardware, that limits or suppresses the flow and/or emission of
  4253. bogons.  "Engineering hacked a bogon filter between the Cray and    the
  4254. VAXen, and now we're getting fewer dropped packets."  See also
  4255. {bogosity}, {bogus}.
  4256.  
  4257.    :bogon flux: /boh'gon fluhks/ n.  A measure of a supposed    field
  4258. of {bogosity} emitted by a speaker, measured by a    {bogometer}; as a
  4259. speaker starts to wander into increasing    bogosity a listener might
  4260. say "Warning, warning, bogon flux is    rising".  See {quantum
  4261. bogodynamics}.
  4262.  
  4263.    :bogosity: /boh-go's*-tee/ n.  1. [orig. CMU, now very    common]
  4264. The degree to which something is {bogus}.  Bogosity is    measured with
  4265. a {bogometer}; in a seminar, when a speaker says    something bogus, a
  4266. listener might raise his hand and say "My    bogometer just triggered".
  4267. More extremely, "You just pinned my    bogometer" means you just said
  4268. or did something so outrageously    bogus that it is off the scale,
  4269. pinning the bogometer needle at the    highest possible reading (one
  4270. might also say "You just redlined my    bogometer").  The agreed-upon
  4271. unit of bogosity is the    {microLenat}.  2. The potential field
  4272. generated by a {bogon    flux}; see {quantum bogodynamics}.  See also
  4273. {bogon flux},    {bogon filter}, {bogus}.
  4274.  
  4275.    :bogotify: /boh-go't*-fi:/ vt.  To make or become bogus.  A
  4276. program that has been changed so many times as to become completely
  4277. disorganized has become bogotified.  If you tighten a nut too hard
  4278. and strip the threads on the bolt, the bolt has become bogotified
  4279. and you had better not use it any more.  This coinage led to the
  4280. notional `autobogotiphobia' defined as `the fear of becoming
  4281. bogotified'; but is not clear that the latter has ever been    `live'
  4282. jargon rather than a self-conscious joke in jargon about    jargon.
  4283. See also {bogosity}, {bogus}.
  4284.  
  4285.    :bogue out: /bohg owt/ vi.  To become bogus, suddenly and
  4286. unexpectedly.  "His talk was relatively sane until somebody asked
  4287. him a trick question; then he bogued out and did nothing but    {flame}
  4288. afterwards."  See also {bogosity}, {bogus}.
  4289.  
  4290.    :bogus: adj.  1. Non-functional.  "Your patches are bogus."     2.
  4291. Useless.  "OPCON is a bogus program."  3. False.  "Your    arguments
  4292. are bogus."  4. Incorrect.  "That algorithm is bogus."     5.
  4293. Unbelievable.  "You claim to have solved the halting problem    for
  4294. Turing Machines?  That's totally bogus."  6. Silly.  "Stop    writing
  4295. those bogus sagas."
  4296.  
  4297.    Astrology is bogus.  So is a bolt that is obviously about to break.
  4298.   So is someone who makes blatantly false claims to have solved a
  4299. scientific problem.  (This word seems to have some, but not all, of
  4300. the connotations of {random} -- mostly the negative ones.)
  4301.  
  4302.    It is claimed that `bogus' was originally used in the hackish
  4303. sense at Princeton in the late 1960s.  It was spread to CMU and    Yale
  4304. by Michael Shamos, a migratory Princeton alumnus.  A glossary    of
  4305. bogus words was compiled at Yale when the word was first    popularized
  4306. there about 1975-76.  These coinages spread into    hackerdom from CMU
  4307. and MIT.  Most of them remained wordplay    objects rather than actual
  4308. vocabulary items or live metaphors.     Examples: `amboguous' (having
  4309. multiple bogus interpretations);    `bogotissimo' (in a gloriously
  4310. bogus manner); `bogotophile'    (one who is pathologically fascinated
  4311. by the bogus);    `paleobogology' (the study of primeval bogosity).
  4312.  
  4313.    Some bogowords, however, obtained sufficient live currency to be
  4314. listed elsewhere in this lexicon; see {bogometer}, {bogon},
  4315. {bogotify}, and {quantum bogodynamics} and the related    but unlisted
  4316. {Dr. Fred Mbogo}.
  4317.  
  4318.    By the early 1980s `bogus' was also current in something like
  4319. hacker usage sense in West Coast teen slang, and it had gone
  4320. mainstream by 1985.  A correspondent from Cambridge reports, by
  4321. contrast, that these uses of `bogus' grate on British nerves; in
  4322. Britain the word means, rather specifically, `counterfeit', as in    "a
  4323. bogus 10-pound note".
  4324.  
  4325.    :Bohr bug: /bohr buhg/ n.  [from quantum physics] A repeatable
  4326. {bug}; one that manifests reliably under a possibly unknown but
  4327. well-defined set of conditions.  Antonym of {heisenbug}; see also
  4328. {mandelbug}, {schroedinbug}.
  4329.  
  4330.    :boink: /boynk/  [Usenet: variously ascribed to the TV    series
  4331. "Cheers" "Moonlighting", and "Soap"]    1. v. To have sex with; compare
  4332. {bounce}, sense 3. (This is    mainstream slang.) In Commonwealth
  4333. hackish the variant `bonk' is    more common.  2. n. After the original
  4334. Peter Korn `Boinkon'    {Usenet} parties, used for almost any net
  4335. social gathering,    e.g., Miniboink, a small boink held by Nancy
  4336. Gillett in 1988;    Minniboink, a Boinkcon in Minnesota in 1989;
  4337. Humpdayboinks,    Wednesday get-togethers held in the San Francisco Bay
  4338. Area.     Compare {@-party}.  3. Var of `bonk'; see {bonk/oif}.
  4339.  
  4340.    :bomb:  1. v. General synonym for {crash} (sense 1) except    that
  4341. it is not used as a noun; esp. used of software or OS    failures.
  4342. "Don't run Empire with less than 32K stack, it'll    bomb."  2. n.,v.
  4343. Atari ST and Macintosh equivalents of a Unix    `panic' or Amiga {guru}
  4344. (sense 2), in which icons of little    black-powder bombs or mushroom
  4345. clouds are displayed, indicating    that the system has died.  On the
  4346. Mac, this may be accompanied by a    decimal (or occasionally
  4347. hexadecimal) number indicating what went    wrong, similar to the Amiga
  4348. {guru meditation} number.     {{MS-DOS}} machines tend to get {locked
  4349. up} in this situation.
  4350.  
  4351.    :bondage-and-discipline language: n.  A language (such as
  4352. {{Pascal}}, {{Ada}}, APL, or Prolog) that, though ostensibly
  4353. general-purpose, is designed so as to enforce an author's theory of
  4354. `right programming' even though said theory is demonstrably
  4355. inadequate for systems hacking or even vanilla general-purpose
  4356. programming.  Often abbreviated `B&D'; thus, one may speak of    things
  4357. "having the B&D nature".  See {{Pascal}}; oppose    {languages of
  4358. choice}.
  4359.  
  4360.    :bonk/oif: /bonk/, /oyf/ interj.  In the {MUD}    community, it has
  4361. become traditional to express pique or censure by    `bonking' the
  4362. offending person.  Convention holds that one should    acknowledge a
  4363. bonk by saying `oif!' and there is a myth to the    effect that failing
  4364. to do so upsets the cosmic bonk/oif balance,    causing much trouble in
  4365. the universe.  Some MUDs have implemented    special commands for
  4366. bonking and oifing.  See also {talk mode}.
  4367.  
  4368.    :book titles::  There is a tradition in hackerdom of    informally
  4369. tagging important textbooks and standards documents with    the
  4370. dominant color of their covers or with some other conspicuous
  4371. feature of the cover.  Many of these are described in this lexicon
  4372. under their own entries. See {Aluminum Book}, {Blue Book},    {Camel
  4373. Book}, {Cinderella Book}, {Devil Book}, {Dragon    Book}, {Green Book},
  4374. {Orange Book}, {Purple Book}, {Red    Book}, {Silver Book}, {White
  4375. Book}, {Wizard Book},    {Yellow Book}, and {bible}; see also {rainbow
  4376. series}.     Since about 1983 this tradition has gotten a boost from
  4377. the popular    O'Reilly Associates line of technical books, which
  4378. usually feature    some kind of exotic animal on the cover.
  4379.  
  4380.    :boot: v.,n.  [techspeak; from `by one's bootstraps'] To    load and
  4381. initialize the operating system on a machine.  This usage    is no
  4382. longer jargon (having passed into techspeak) but has given    rise to
  4383. some derivatives that are still jargon.
  4384.  
  4385.    The derivative `reboot' implies that the machine hasn't been down
  4386. for long, or that the boot is a {bounce} (sense 4) intended to    clear
  4387. some state of {wedgitude}.  This is sometimes used of    human thought
  4388. processes, as in the following exchange: "You've    lost me."  "OK,
  4389. reboot.  Here's the theory...."
  4390.  
  4391.    This term is also found in the variants `cold boot' (from
  4392. power-off condition) and `warm boot' (with the CPU and all    devices
  4393. already powered up, as after a hardware reset or software    crash).
  4394.  
  4395.    Another variant: `soft boot', reinitialization of only part of a
  4396. system, under control of other software still running: "If    you're
  4397. running the {mess-dos} emulator, control-alt-insert will    cause a
  4398. soft-boot of the emulator, while leaving the rest of the    system
  4399. running."
  4400.  
  4401.    Opposed to this there is `hard boot', which connotes hostility
  4402. towards or frustration with the machine being booted:  "I'll have    to
  4403. hard-boot this losing Sun."  "I recommend booting it    hard."  One
  4404. often hard-boots by performing a {power cycle}.
  4405.  
  4406.    Historical note: this term derives from `bootstrap loader', a short
  4407.  program that was read in from cards or paper tape, or toggled in
  4408. from the front panel switches.  This program was always very short
  4409. (great efforts were expended on making it short in order to    minimize
  4410. the labor and chance of error involved in toggling it in),    but was
  4411. just smart enough to read in a slightly more complex    program
  4412. (usually from a card or paper tape reader), to which it    handed
  4413. control; this program in turn was smart enough to read the
  4414. application or operating system from a magnetic tape drive or disk
  4415. drive.  Thus, in successive steps, the computer `pulled itself up    by
  4416. its bootstraps' to a useful operating state.  Nowadays the    bootstrap
  4417. is usually found in ROM or EPROM, and reads the first    stage in from
  4418. a fixed location on the disk, called the `boot    block'.  When this
  4419. program gains control, it is powerful enough to    load the actual OS
  4420. and hand control over to it.
  4421.  
  4422.    :Borg: n.  In "Star Trek: The Next Generation" the    Borg is a
  4423. species of cyborg that ruthlessly seeks to incorporate    all sentient
  4424. life into itself; their slogan is "Resistence is    futile.  You will
  4425. be assimilated."  In hacker parlance, the Borg    is usually
  4426. {Microsoft}, which is thought to be trying just as    ruthlessly to
  4427. assimilate all computers and the entire Internet to    itself (there is
  4428. a widely circulated image of Bill Gates as a    Borg).  Being forced to
  4429. use Windows or NT is often referred to as    being "Borged".
  4430. Interestingly, the {Halloween Documents}    reveal that this jargon is
  4431. live within Microsoft itself.  (Other    companies, notably Intel and
  4432. UUNet, have also occasionally been    equated to the Borg.) See also
  4433. {Evil Empire}, {Internet    Exploiter}.
  4434.  
  4435.    :borken: adj.  Commomn deliberate typo for `broken'.
  4436.  
  4437.    :bot: n  [common on IRC, MUD; from `robot'] An {IRC} or    {MUD}
  4438. user who is actually a program.  On IRC, typically the    robot
  4439. provides some useful service.  Examples are NickServ, which    tries to
  4440. prevent random users from adopting {nick}s already    claimed by
  4441. others, and MsgServ, which allows one to send    asynchronous messages
  4442. to be delivered when the recipient signs on.     Also common are
  4443. `annoybots', such as KissServ, which perform no    useful function
  4444. except to send cute messages to other people.     Service bots are less
  4445. common on MUDs; but some others, such as the    `Julia' bot active in
  4446. 1990-91, have been remarkably impressive    Turing-test experiments,
  4447. able to pass as human for as long as ten    or fifteen minutes of
  4448. conversation.
  4449.  
  4450.    Note that bots used to be `robots' when the term first appeared in
  4451. the early 1990s, but the shortened form is now habitual.
  4452.  
  4453.    :bot spot: n.  [MUD, IRC] The user on a MUD with the    longest
  4454. connect time.  Derives from the fact that {bot}s on MUDS    often stay
  4455. constantly connected and appear at the bottom of the    list.
  4456.  
  4457.    :bottom feeder: n.  Syn. for {slopsucker}, derived from the
  4458. fishermen's and naturalists' term for finny creatures who subsist    on
  4459. the primordial ooze.
  4460.  
  4461.    :bottom-up implementation: n.  Hackish opposite of the    techspeak
  4462. term `top-down design'.  It is now received wisdom in    most
  4463. programming cultures that it is best to design from higher    levels of
  4464. abstraction down to lower, specifying sequences of action    in
  4465. increasing detail until you get to actual code.  Hackers often    find
  4466. (especially in exploratory designs that cannot be closely    specified
  4467. in advance) that it works best to _build_ things in    the opposite
  4468. order, by writing and testing a clean set of primitive    operations
  4469. and then knitting them together.
  4470.  
  4471.    :bounce: v.  1. [common; perhaps by analogy to a bouncing    check]
  4472. An electronic mail message that is undeliverable and returns    an
  4473. error notification to the sender is said to `bounce'.  See    also
  4474. {bounce message}.  2. [Stanford] To play volleyball.  The
  4475. now-demolished {D. C. Power Lab} building used by the Stanford    AI
  4476. Lab in the 1970s had a volleyball court on the front lawn.  From    5
  4477. P.M. to 7 P.M. was the scheduled maintenance time for the    computer,
  4478. so every afternoon at 5 would come over the intercom the    cry: "Now
  4479. hear this: bounce, bounce!", followed by Brian McCune    loudly
  4480. bouncing a volleyball on the floor outside the offices of    known
  4481. volleyballers.  3. To engage in sexual intercourse; prob.     from the
  4482. expression `bouncing the mattress', but influenced by    Roo's
  4483. psychosexually loaded "Try bouncing me, Tigger!" from the
  4484. "Winnie-the-Pooh" books.  Compare {boink}.  4. To casually    reboot a
  4485. system in order to clear up a transient problem.  Reported    primarily
  4486. among {VMS} and {Unix} users.  5.  [VM/CMS    programmers] _Automatic_
  4487. warm-start of a machine after an    error.  "I logged on this morning
  4488. and found it had bounced 7 times    during the night" 6. [IBM] To
  4489. {power cycle} a peripheral in    order to reset it.
  4490.  
  4491.    :bounce message: n.  [common] Notification message    returned to
  4492. sender by a site unable to relay {email} to the    intended {{Internet
  4493. address}} recipient or the next link in a    {bang path} (see {bounce},
  4494. sense 1).  Reasons might include a    nonexistent or misspelled
  4495. username or a {down} relay site.     Bounce messages can themselves
  4496. fail, with occasionally ugly    results; see {sorcerer's apprentice
  4497. mode} and {software    laser}.  The terms `bounce mail' and `barfmail'
  4498. are also    common.
  4499.  
  4500.    :boustrophedon: n.  [from a Greek word for turning like an ox
  4501. while plowing] An ancient method of writing using alternate
  4502. left-to-right and right-to-left lines.  This term is actually
  4503. philologists' techspeak and typesetters' jargon.  Erudite hackers
  4504. use it for an optimization performed by some computer typesetting
  4505. software and moving-head printers.  The adverbial form
  4506. `boustrophedonically' is also found (hackers purely love
  4507. constructions like this).
  4508.  
  4509.    :box: n.  1. A computer; esp. in the construction `foo    box' where
  4510. foo is some functional qualifier, like    `graphics', or the name of an
  4511. OS (thus, `Unix box', `MS-DOS    box', etc.)  "We preprocess the data
  4512. on Unix boxes before handing    it up to the mainframe."  2. [IBM]
  4513. Without qualification but    within an SNA-using site, this refers
  4514. specifically to an IBM    front-end processor or FEP /F-E-P/.  An FEP
  4515. is a small computer    necessary to enable an IBM {mainframe} to
  4516. communicate beyond the    limits of the {dinosaur pen}.  Typically used
  4517. in expressions    like the cry that goes up when an SNA network goes
  4518. down: "Looks    like the {box} has fallen over." (See {fall over}.) See
  4519. also    {IBM}, {fear and loathing}, {Blue Glue}.
  4520.  
  4521.    :boxed comments: n.  Comments (explanatory notes attached to
  4522. program instructions) that occupy several lines by themselves; so
  4523. called because in assembler and C code they are often surrounded by
  4524. a box in a style something like this:
  4525.  
  4526.      /*************************************************
  4527.       *
  4528.       * This is a boxed comment in C style
  4529.       *
  4530.       *************************************************/
  4531.  
  4532. Common variants of this style omit the asterisks in column 2 or add
  4533. a matching row of asterisks closing the right side of the box.  The
  4534. sparest variant omits all but the comment delimiters themselves;    the
  4535. `box' is implied.  Oppose {winged comments}.
  4536.  
  4537.    :boxen: /bok'sn/ pl.n.  [very common; by analogy with    {VAXen}]
  4538. Fanciful plural of {box} often encountered in the    phrase `Unix
  4539. boxen', used to describe commodity {{Unix}}    hardware.  The
  4540. connotation is that any two Unix boxen are    interchangeable.
  4541.  
  4542.    :boxology: /bok-sol'*-jee/ n.  Syn. {ASCII art}.  This    term
  4543. implies a more restricted domain, that of box-and-arrow    drawings.
  4544. "His report has a lot of boxology in it."  Compare    {macrology}.
  4545.  
  4546.    :bozotic: /boh-zoh'tik/ or /boh-zo'tik/ adj.  [from    the name of a
  4547. TV clown even more losing than Ronald McDonald]    Resembling or having
  4548. the quality of a bozo; that is, clownish,    ludicrously wrong,
  4549. unintentionally humorous.  Compare {wonky},    {demented}.  Note that
  4550. the noun `bozo' occurs in slang, but    the mainstream adjectival form
  4551. would be `bozo-like' or (in New    England) `bozoish'.
  4552.  
  4553.    :BQS: /B-Q-S/ adj.  Syn. {Berkeley Quality Software}.
  4554.  
  4555.    :brain dump: n.  [common] The act of telling someone    everything
  4556. one knows about a particular topic or project.     Typically used when
  4557. someone is going to let a new party maintain a    piece of code.
  4558. Conceptually analogous to an operating system    {core dump} in that it
  4559. saves a lot of useful {state} before    an exit.  "You'll have to give
  4560. me a brain dump on FOOBAR before    you start your new job at
  4561. HackerCorp."  See {core dump} (sense    4).  At Sun, this is also known
  4562. as `TOI' (transfer of    information).
  4563.  
  4564.    :brain fart: n.  The actual result of a {braino}, as    opposed to
  4565. the mental glitch that is the braino itself.  E.g.,    typing `dir' on
  4566. a Unix box after a session with DOS.
  4567.  
  4568.    :brain-damaged: adj.  1. [common; generalization of    `Honeywell
  4569. Brain Damage' (HBD), a theoretical disease invented to    explain
  4570. certain utter cretinisms in Honeywell {{Multics}}]    adj. Obviously
  4571. wrong; {cretinous}; {demented}.  There is    an implication that the
  4572. person responsible must have suffered brain    damage, because he
  4573. should have known better.  Calling something    brain-damaged is really
  4574. bad; it also implies it is unusable, and    that its failure to work is
  4575. due to poor design rather than some    accident.  "Only six monocase
  4576. characters per file name?  Now    _that's_ brain-damaged!"  2. [esp. in
  4577. the Mac world] May    refer to free demonstration software that has
  4578. been deliberately    crippled in some way so as not to compete with the
  4579. commercial    product it is intended to sell.  Syn.  {crippleware}.
  4580.  
  4581.    :brain-dead: adj.  [common] Brain-damaged in the extreme.     It
  4582. tends to imply terminal design failure rather than malfunction    or
  4583. simple stupidity.  "This comm program doesn't know how to send    a
  4584. break -- how brain-dead!"
  4585.  
  4586.    :braino: /bray'no/ n.  Syn. for {thinko}. See also    {brain fart}.
  4587.  
  4588.    :branch to Fishkill: n.  [IBM: from the location of one of the
  4589. corporation's facilities] Any unexpected jump in a program that
  4590. produces catastrophic or just plain weird results.  See {jump    off
  4591. into never-never land}, {hyperspace}.
  4592.  
  4593.    :bread crumbs: n.  Debugging statements inserted into a    program
  4594. that emit output or log indicators of the program's    {state} to a
  4595. file so you can see where it dies or pin down the    cause of
  4596. surprising behavior. The term is probably a reference to    the Hansel
  4597. and Gretel story from the Brothers Grimm or the older    French
  4598. folktale of Thumbelina; in several variants of these, a    character
  4599. leaves a trail of bread crumbs so as not to get lost in    the woods.
  4600.  
  4601.    :break:  1. vt. To cause to be {broken} (in any sense).     "Your
  4602. latest patch to the editor broke the paragraph commands."     2. v.
  4603. (of a program) To stop temporarily, so that it may debugged.     The
  4604. place where it stops is a `breakpoint'.  3. [techspeak]    vi. To send
  4605. an RS-232 break (two character widths of line high)    over a serial
  4606. comm line.  4. [Unix] vi. To strike whatever key    currently causes
  4607. the tty driver to send SIGINT to the current    process.  Normally,
  4608. break (sense 3), delete or {control-C} does    this.  5. `break break'
  4609. may be said to interrupt a conversation    (this is an example of verb
  4610. doubling).  This usage comes from radio    communications, which in
  4611. turn probably came from landline    telegraph/teleprinter usage, as
  4612. badly abused in the Citizen's Band    craze a few years ago.
  4613.  
  4614.    :break-even point: n.  In the process of implementing a new
  4615. computer language, the point at which the language is sufficiently
  4616. effective that one can implement the language in itself.  That is,
  4617. for a new language called, hypothetically, FOOGOL, one has reached
  4618. break-even when one can write a demonstration compiler for FOOGOL    in
  4619. FOOGOL, discard the original implementation language, and    thereafter
  4620. use working versions of FOOGOL to develop newer ones.     This is an
  4621. important milestone; see {MFTL}.
  4622.  
  4623.    Since this entry was first written, several correspondents have
  4624. reported that there actually was a compiler for a tiny Algol-like
  4625. language called Foogol floating around on various {VAXen} in the
  4626. early and mid-1980s.  A FOOGOL implementation is available at the
  4627. Retrocomputing Museum `http://www.ccil.org/retro'.
  4628.  
  4629.    :breath-of-life packet: n.  [XEROX PARC] An Ethernet packet    that
  4630. contains bootstrap (see {boot}) code, periodically sent out    from a
  4631. working computer to infuse the `breath of life' into any    computer on
  4632. the network that has happened to crash.  Machines    depending on such
  4633. packets have sufficient hardware or firmware code    to wait for (or
  4634. request) such a packet during the reboot process.     See also
  4635. {dickless workstation}.
  4636.  
  4637.    The notional `kiss-of-death packet', with a function
  4638. complementary to that of a breath-of-life packet, is recommended    for
  4639. dealing with hosts that consume too many network resources.     Though
  4640. `kiss-of-death packet' is usually used in jest, there is    at least
  4641. one documented instance of an Internet subnet with limited
  4642. address-table slots in a gateway machine in which such packets were
  4643. routinely used to compete for slots, rather like Christmas shoppers
  4644. competing for scarce parking spaces.
  4645.  
  4646.    :breedle: n.  See {feep}.
  4647.  
  4648.    :Breidbart Index: /bri:d'bart ind*ks/  A measurement of the
  4649. severity of spam invented by long-time hacker Seth Breidbart, used
  4650. for programming cancelbots. The Breidbart Index takes into account
  4651. the fact that excessive multi-posting {EMP} is worse than    excessive
  4652. cross-posting {ECP}.  The Breidbart Index is computed    as follows:
  4653. For each article in a spam, take the square-root of the    number of
  4654. newsgroups to which the article is posted. The Breidbart    Index is
  4655. the sum of the square roots of all of the posts in the    spam. For
  4656. example, one article posted to nine newsgroups and again    to sixteen
  4657. would have BI = sqrt(9) + sqrt(16) = 7.  It is generally    agreed that
  4658. a spam is cancelable if the Breidbart Index exceeds    20.
  4659.  
  4660.    The Breidbart Index accumulates over a 45-day window. Ten articles
  4661. yesterday and ten articles today and ten articles tomorrow add up
  4662. to a 30-article spam. Spam fighters will often reset the count if
  4663. you can convince them that the spam was accidental    and/or you have
  4664. seen the error of your ways and won't repeat it.     Breidbart Index
  4665. can accumulate over multiple authors. For example,    the "Make Money
  4666. Fast" pyramid scheme exceeded a BI    of 20 a long time ago, and is now
  4667. considered "cancel on sight".
  4668.  
  4669.    :bring X to its knees: v.  [common] To present a machine,
  4670. operating system, piece of software, or algorithm with a load so
  4671. extreme or {pathological} that it grinds to a halt. "To bring    a
  4672. MicroVAX to its knees, try twenty users running {vi} -- or    four
  4673. running {EMACS}."  Compare {hog}.
  4674.  
  4675.    :brittle: adj.  Said of software that is functional but easily
  4676. broken by changes in operating environment or configuration, or by
  4677. any minor tweak to the software itself.  Also, any system that
  4678. responds inappropriately and disastrously to abnormal but expected
  4679. external stimuli; e.g., a file system that is usually totally
  4680. scrambled by a power failure is said to be brittle.  This term is
  4681. often used to describe the results of a research effort that were
  4682. never intended to be robust, but it can be applied to commercially
  4683. developed software, which displays the quality far more often than
  4684. it ought to.  Oppose {robust}.
  4685.  
  4686.    :broadcast storm: n.  [common] An incorrect packet    broadcast on a
  4687. network that causes most hosts to respond all at    once, typically
  4688. with wrong answers that start the process over    again.  See {network
  4689. meltdown}; compare {mail storm}.
  4690.  
  4691.    :brochureware: n.  Planned but non-existent product like
  4692. {vaporware}, but with the added implication that marketing is
  4693. actively selling and promoting it (they've printed brochures).
  4694. Brochureware is often deployed as a strategic weapon; the idea is    to
  4695. con customers into not committing to an existing product of the
  4696. competition's.  It is a safe bet that when a brochureware product
  4697. finally becomes real, it will be more expensive than and inferior    to
  4698. the alternatives that had been available for years.
  4699.  
  4700.    :broken: adj.  1. Not working properly (of programs).     2.
  4701. Behaving strangely; especially (when used of people) exhibiting
  4702. extreme depression.
  4703.  
  4704.    :broken arrow: n.  [IBM] The error code displayed on line 25    of a
  4705. 3270 terminal (or a PC emulating a 3270) for various kinds of
  4706. protocol violations and "unexpected" error conditions (including
  4707. connection to a {down} computer).  On a PC, simulated with    `->/_',
  4708. with the two center characters overstruck.
  4709.  
  4710.    Note: to appreciate this term fully, it helps to know that `broken
  4711. arrow' is also military jargon for an accident involving nuclear
  4712. weapons....
  4713.  
  4714.    :BrokenWindows: n.  Abusive hackerism for the {crufty} and
  4715. {elephantine} {X} environment on Sun machines; properly    called
  4716. `OpenWindows'.
  4717.  
  4718.    :broket: /broh'k*t/ or /broh'ket`/ n.  [rare; by    analogy with
  4719. `bracket': a `broken bracket'] Either of the    characters `<' and `>',
  4720. when used as paired enclosing    delimiters.  This word originated as a
  4721. contraction of the phrase    `broken bracket', that is, a bracket that
  4722. is bent in the middle.     (At MIT, and apparently in the {Real World}
  4723. as well, these are    usually called {angle brackets}.)
  4724.  
  4725.    :Brooks's Law: prov.  "Adding manpower to a late software    project
  4726. makes it later" -- a result of the fact that the expected    advantage
  4727. from splitting development work among N    programmers is O(N) (that
  4728. is, proportional to N), but    the complexity and communications cost
  4729. associated with coordinating    and then merging their work is O(N^2)
  4730. (that is, proportional    to the square of N).  The quote is from Fred
  4731. Brooks, a    manager of IBM's OS/360 project and author of "The Mythical
  4732.   Man-Month" (Addison-Wesley, 1975, ISBN 0-201-00650-2), an excellent
  4733.  early book on software engineering.  The myth in question has been
  4734. most tersely expressed as "Programmer time is fungible" and    Brooks
  4735. established conclusively that it is not.  Hackers have never
  4736. forgotten his advice (though it's not the whole story; see
  4737. {bazaar}); too often, {management} still does.  See also
  4738. {creationism}, {second-system effect}, {optimism}.
  4739.  
  4740.    :brown-paper-bag bug: n.  A bug in a public software    release that
  4741. is so embarassing that the author notionally wears    a brown paper bag
  4742. over his head for a while so he won't be    recognized on the net.
  4743. Entered popular usage after the early-1999    release of the first
  4744. Linux 2.2, which had one.  The phrase was used    in Linus Torvalds's
  4745. apology posting.
  4746.  
  4747.    :browser: n.  A program specifically designed to help users view
  4748. and navigate hypertext, on-line documentation, or a database.     While
  4749. this general sense has been present in jargon for a long    time, the
  4750. proliferation of browsers for the World Wide Web after    1992 has made
  4751. it much more popular and provided a central or    default meaning of
  4752. the word previously lacking in hacker usage.     Nowadays, if someone
  4753. mentions using a `browser' without    qualification, one may assume it
  4754. is a Web browser.
  4755.  
  4756.    :BRS: /B-R-S/ n.  Syn. {Big Red Switch}.  This    abbreviation is
  4757. fairly common on-line.
  4758.  
  4759.    :brute force: adj.  Describes a primitive programming style,    one
  4760. in which the programmer relies on the computer's processing    power
  4761. instead of using his or her own intelligence to simplify the
  4762. problem, often ignoring problems of scale and applying naive    methods
  4763. suited to small problems directly to large ones.  The term    can also
  4764. be used in reference to programming style: brute-force    programs are
  4765. written in a heavyhanded, tedious way, full of    repetition and devoid
  4766. of any elegance or useful abstraction (see    also {brute force and
  4767. ignorance}).
  4768.  
  4769.    The {canonical} example of a brute-force algorithm is associated
  4770. with the `traveling salesman problem' (TSP), a classical    {NP-}hard
  4771. problem: Suppose a person is in, say, Boston, and    wishes to drive to
  4772. N other cities.  In what order should the    cities be visited in order
  4773. to minimize the distance travelled?  The    brute-force method is to
  4774. simply generate all possible routes and    compare the distances; while
  4775. guaranteed to work and simple to    implement, this algorithm is
  4776. clearly very stupid in that it    considers even obviously absurd
  4777. routes (like going from Boston to    Houston via San Francisco and New
  4778. York, in that order).  For very    small N it works well, but it
  4779. rapidly becomes absurdly    inefficient when N increases (for N = 15,
  4780. there are    already 1,307,674,368,000 possible routes to consider, and
  4781. for    N = 1000 -- well, see {bignum}).  Sometimes,    unfortunately,
  4782. there is no better general solution than brute    force.  See also
  4783. {NP-}.
  4784.  
  4785.    A more simple-minded example of brute-force programming is finding
  4786. the smallest number in a large list by first using an existing
  4787. program to sort the list in ascending order, and then picking the
  4788. first number off the front.
  4789.  
  4790.    Whether brute-force programming should actually be considered
  4791. stupid or not depends on the context; if the problem is not    terribly
  4792. big, the extra CPU time spent on a brute-force solution    may cost
  4793. less than the programmer time it would take to develop a    more
  4794. `intelligent' algorithm.  Additionally, a more intelligent    algorithm
  4795. may imply more long-term complexity cost and bug-chasing    than are
  4796. justified by the speed improvement.
  4797.  
  4798.    Ken Thompson, co-inventor of Unix, is reported to have uttered the
  4799. epigram "When in doubt, use brute force".  He probably intended
  4800. this as a {ha ha only serious}, but the original Unix kernel's
  4801. preference for simple, robust, and portable algorithms over
  4802. {brittle} `smart' ones does seem to have been a significant    factor
  4803. in the success of that OS.  Like so many other tradeoffs in    software
  4804. design, the choice between brute force and complex,    finely-tuned
  4805. cleverness is often a difficult one that requires both    engineering
  4806. savvy and delicate esthetic judgment.
  4807.  
  4808.    :brute force and ignorance: n.  A popular design technique at
  4809. many software houses -- {brute force} coding unrelieved by any
  4810. knowledge of how problems have been previously solved in elegant
  4811. ways.  Dogmatic adherence to design methodologies tends to    encourage
  4812. this sort of thing.  Characteristic of early {larval    stage}
  4813. programming; unfortunately, many never outgrow it.  Often
  4814. abbreviated BFI: "Gak, they used a {bubble sort}!  That's    strictly
  4815. from BFI."  Compare {bogosity}.
  4816.  
  4817.    :BSD: /B-S-D/ n.  [abbreviation for `Berkeley Software
  4818. Distribution'] a family of {{Unix}} versions for the {DEC}    {VAX} and
  4819. PDP-11 developed by Bill Joy and others at    {Berzerkeley} starting
  4820. around 1980, incorporating paged virtual    memory, TCP/IP networking
  4821. enhancements, and many other features.     The BSD versions (4.1, 4.2,
  4822. and 4.3) and the commercial versions    derived from them (SunOS,
  4823. ULTRIX, and Mt. Xinu) held the technical    lead in the Unix world
  4824. until AT&T's successful standardization    efforts after about 1986,
  4825. and are still widely popular.  Note that    BSD versions going back to
  4826. 2.9 are often referred to by their    version numbers, without the BSD
  4827. prefix.  See {4.2}, {{Unix}},    {USG Unix}.
  4828.  
  4829.    :BSOD: //   Very commmon abbreviation for {Blue    Screen of Death}.
  4830. Both spoken and written.
  4831.  
  4832.    :BUAF: // n.  [abbreviation, from alt.fan.warlord] Big    Ugly ASCII
  4833. Font -- a special form of {ASCII art}.  Various    programs exist for
  4834. rendering text strings into block, bloob, and    pseudo-script fonts in
  4835. cells between four and six character cells    on a side; this is
  4836. smaller than the letters generated by older    {banner} (sense 2)
  4837. programs.  These are sometimes used to render    one's name in a {sig
  4838. block}, and are critically referred to as    `BUAF's.  See {warlording}.
  4839.  
  4840.    :BUAG: // n.  [abbreviation, from alt.fan.warlord] Big    Ugly ASCII
  4841. Graphic.  Pejorative term for ugly {ASCII art},    especially as found
  4842. in {sig block}s.  For some reason, mutations    of the head of Bart
  4843. Simpson are particularly common in the least    imaginative {sig
  4844. block}s.  See {warlording}.
  4845.  
  4846.    :bubble sort: n.  Techspeak for a particular sorting technique    in
  4847. which pairs of adjacent values in the list to be sorted are    compared
  4848. and interchanged if they are out of order; thus, list    entries
  4849. `bubble upward' in the list until they bump into one    with a lower
  4850. sort value.  Because it is not very good relative to    other methods
  4851. and is the one typically stumbled on by {naive}    and untutored
  4852. programmers, hackers consider it the {canonical}    example of a naive
  4853. algorithm.  The canonical example of a really    _bad_ algorithm is
  4854. {bogo-sort}.  A bubble sort might be    used out of ignorance, but any
  4855. use of bogo-sort could issue only    from brain damage or willful
  4856. perversity.
  4857.  
  4858.    :bucky bits: /buh'kee bits/ n.  1. obs. The bits produced by    the
  4859. CONTROL and META shift keys on a SAIL keyboard (octal 200 and    400
  4860. respectively), resulting in a 9-bit keyboard character set.     The MIT
  4861. AI TV (Knight) keyboards extended this with TOP and    separate left
  4862. and right CONTROL and META keys, resulting in a    12-bit character
  4863. set; later, LISP Machines added such keys as    SUPER, HYPER, and GREEK
  4864. (see {space-cadet keyboard}).  2. By    extension, bits associated with
  4865. `extra' shift keys on any    keyboard, e.g., the ALT on an IBM PC or
  4866. command and option keys on    a Macintosh.
  4867.  
  4868.    It has long been rumored that `bucky bits' were named for
  4869. Buckminster Fuller during a period when he was consulting at
  4870. Stanford.  Actually, bucky bits were invented by Niklaus Wirth when
  4871. _he_ was at Stanford in 1964-65; he first suggested the idea    of an
  4872. EDIT key to set the 8th bit of an otherwise 7-bit ASCII    character).
  4873. It seems that, unknown to Wirth, certain Stanford    hackers had
  4874. privately nicknamed him `Bucky' after a prominent    portion of his
  4875. dental anatomy, and this nickname transferred to the    bit.  Bucky-bit
  4876. commands were used in a number of editors written    at Stanford,
  4877. including most notably TV-EDIT and NLS.
  4878.  
  4879.    The term spread to MIT and CMU early and is now in general use.
  4880. Ironically, Wirth himself remained unaware of its derivation for
  4881. nearly 30 years, until GLS dug up this history in early 1993!  See
  4882. {double bucky}, {quadruple bucky}.
  4883.  
  4884.    :buffer chuck: n.  Shorter and ruder syn. for {buffer    overflow}.
  4885.  
  4886.    :buffer overflow: n.  What happens when you try to stuff    more
  4887. data into a buffer (holding area) than it can handle.  This    problem
  4888. is commonly exploited by {cracker}s to get arbitrary    commands
  4889. executed by a program running with root permissions.  This    may be
  4890. due to a mismatch in the processing rates of the producing    and
  4891. consuming processes (see {overrun} and {firehose    syndrome}), or
  4892. because the buffer is simply too small to hold all    the data that
  4893. must accumulate before a piece of it can be    processed.  For example,
  4894. in a text-processing tool that    {crunch}es a line at a time, a short
  4895. line buffer can result in    {lossage} as input from a long line
  4896. overflows the buffer and    trashes data beyond it.  Good defensive
  4897. programming would check for    overflow on each character and stop
  4898. accepting data when the buffer    is full up.  The term is used of and
  4899. by humans in a metaphorical    sense.  "What time did I agree to meet
  4900. you?  My buffer must have    overflowed."  Or "If I answer that phone
  4901. my buffer is going to    overflow."  See also {spam}, {overrun screw}.
  4902.  
  4903.    :bug: n.  An unwanted and unintended property of a program or
  4904. piece of hardware, esp. one that causes it to malfunction.     Antonym
  4905. of {feature}.  Examples: "There's a bug in the editor:    it writes
  4906. things out backwards."  "The system crashed because of    a hardware
  4907. bug."  "Fred is a winner, but he has a few bugs"    (i.e., Fred is a
  4908. good guy, but he has a few personality problems).
  4909.  
  4910.    Historical note: Admiral Grace Hopper (an early computing pioneer
  4911. better known for inventing {COBOL}) liked to tell a story in    which a
  4912. technician solved a {glitch} in the Harvard Mark II    machine by
  4913. pulling an actual insect out from between the contacts    of one of its
  4914. relays, and she subsequently promulgated {bug} in    its hackish sense
  4915. as a joke about the incident (though, as she was    careful to admit,
  4916. she was not there when it happened).  For many    years the logbook
  4917. associated with the incident and the actual bug    in question (a moth)
  4918. sat in a display case at the Naval Surface    Warfare Center (NSWC).
  4919. The entire story, with a picture of the    logbook and the moth taped
  4920. into it, is recorded in the "Annals    of the History of Computing",
  4921. Vol. 3, No. 3 (July 1981),    pp. 285-286.
  4922.  
  4923.    The text of the log entry (from September 9, 1947), reads "1545
  4924. Relay #70 Panel F (moth) in relay.  First actual case of bug being
  4925. found".  This wording establishes that the term was already    in use
  4926. at the time in its current specific sense -- and Hopper    herself
  4927. reports that the term `bug' was regularly applied to    problems in
  4928. radar electronics during WWII.
  4929.  
  4930.    Indeed, the use of `bug' to mean an industrial defect was already
  4931. established in Thomas Edison's time, and a more specific and rather
  4932. modern use can be found in an electrical handbook from 1896
  4933. ("Hawkin's New Catechism of Electricity", Theo. Audel & Co.)     which
  4934. says: "The term `bug' is used to a limited extent to    designate any
  4935. fault or trouble in the connections or working of    electric
  4936. apparatus."  It further notes that the term is "said to    have
  4937. originated in quadruplex telegraphy and have been transferred    to all
  4938. electric apparatus."
  4939.  
  4940.    The latter observation may explain a common folk etymology of the
  4941. term; that it came from telephone company usage, in which "bugs in    a
  4942. telephone cable" were blamed for noisy lines.  Though this
  4943. derivation seems to be mistaken, it may well be a distorted memory
  4944. of a joke first current among _telegraph_ operators more than    a
  4945. century ago!
  4946.  
  4947.    Or perhaps not a joke.  Historians of the field inform us that the
  4948. term "bug" was regularly used in the early days of telegraphy to
  4949. refer to a variety of semi-automatic telegraphy keyers that would
  4950. send a string of dots if you held them down.  In fact, the    Vibroplex
  4951. keyers (which were among the most common of this type)    even had a
  4952. graphic of a beetle on them (and still do)!  While the    ability to
  4953. send repeated dots automatically was very useful for    professional
  4954. morse code operators, these were also significantly    trickier to use
  4955. than the older manual keyers, and it could take    some practice to
  4956. ensure one didn't introduce extraneous dots into    the code by holding
  4957. the key down a fraction too long.  In the hands    of an inexperienced
  4958. operator, a Vibroplex "bug" on the line could    mean that a lot of
  4959. garbled Morse would soon be coming your way.
  4960.  
  4961.    Further, the term "bug" has long been used among radio technicians to
  4962.   describe a device that converts electromagnetic field variations into
  4963.   acoustic signals.  It is used to trace radio interference and look
  4964. for    dangerous radio emissions.  Radio community usage derives from
  4965. the    roach-like shape of the first versions used by 19th century
  4966. physicists.     The first versions consisted of a coil of wire (roach
  4967. body), with the two    wire ends sticking out and bent back to nearly
  4968. touch forming a spark gap    (roach antennae).  The bug is to the radio
  4969. technician what the stethoscope    is to the stereotype medical doctor.
  4970. This sense is almost certainly    ancestral to modern use of "bug" for
  4971. a covert monitoring device,    but may also have contributed to the use
  4972. of "bug" for the effects    of radio interference itself.
  4973.  
  4974.    Actually, use of `bug' in the general sense of a disruptive event
  4975. goes back to Shakespeare!  (Henry VI, part III - Act V, Scene II:
  4976. King Edward: "So, lie thou there. Die thou; and die our fear; For
  4977. Warwick was a bug that fear'd us all.")  In the first edition of
  4978. Samuel Johnson's dictionary one meaning of `bug' is "A frightful
  4979. object; a walking spectre"; this is traced to `bugbear', a Welsh
  4980. term for a variety of mythological monster which (to complete the
  4981. circle) has recently been reintroduced into the popular lexicon
  4982. through fantasy role-playing games.
  4983.  
  4984.    In any case, in jargon the word almost never refers to insects.
  4985. Here is a plausible conversation that never actually happened:
  4986.  
  4987.    "There is a bug in this ant farm!"
  4988.  
  4989.    "What do you mean?  I don't see any ants in it."
  4990.  
  4991.    "That's the bug."
  4992.  
  4993.    A careful discussion of the etymological issues can be found in a
  4994. paper by Fred R. Shapiro, 1987, "Entomology of the Computer Bug:
  4995. History and Folklore", American Speech 62(4):376-378.
  4996.  
  4997.    [There has been a widespread myth that the original bug was moved
  4998. to the Smithsonian, and an earlier version of this entry so
  4999. asserted.  A correspondent who thought to check discovered that the
  5000. bug was not there.  While investigating this in late 1990, your
  5001. editor discovered that the NSWC still had the bug, but had
  5002. unsuccessfully tried to get the Smithsonian to accept it -- and    that
  5003. the present curator of their History of American Technology    Museum
  5004. didn't know this and agreed that it would make a worthwhile    exhibit.
  5005. It was moved to the Smithsonian in mid-1991, but due to    space and
  5006. money constraints was not actually exhibited years    afterwards.
  5007. Thus, the process of investigating the    original-computer-bug bug
  5008. fixed it in an entirely unexpected way,    by making the myth true!
  5009. --ESR]
  5010.  
  5011.    :bug-compatible: adj.  [common] Said of a design or    revision that
  5012. has been badly compromised by a requirement to be    compatible with
  5013. {fossil}s or {misfeature}s in other programs    or (esp.) previous
  5014. releases of itself. "MS-DOS 2.0 used \ as a    path separator to be
  5015. bug-compatible with some cretin's choice of /    as an option character
  5016. in 1.0."
  5017.  
  5018.    :bug-for-bug compatible: n.  Same as {bug-compatible}, with    the
  5019. additional implication that much tedious effort went into    ensuring
  5020. that each (known) bug was replicated.
  5021.  
  5022.    :bug-of-the-month club: n.  [from "book-of-the-month    club", a
  5023. time-honored mail-order-marketing technique in the U.S.]     A mythical
  5024. club which users of `sendmail(8)' (the UNIX mail    daemon) belong to;
  5025. this was coined on the Usenet newsgroup    comp.security.unix at a time
  5026. when sendmail security holes, which    allowed outside {cracker}s
  5027. access to the system, were being    uncovered at an alarming rate,
  5028. forcing sysadmins to update very    often.  Also, more completely,
  5029. `fatal security bug-of-the-month    club'.
  5030.  
  5031.    :buglix: /buhg'liks/ n.  [uncommon] Pejorative term    referring to
  5032. {DEC}'s ULTRIX operating system in its earlier    _severely_ buggy
  5033. versions.  Still used to describe ULTRIX, but    without nearly so much
  5034. venom.  Compare {AIDX}, {HP-SUX},    {Nominal Semidestructor},
  5035. {Telerat}, {sun-stools}.
  5036.  
  5037.    :bulletproof: adj.  Used of an algorithm or implementation
  5038. considered extremely {robust}; lossage-resistant; capable of
  5039. correctly recovering from any imaginable exception condition -- a
  5040. rare and valued quality.  Implies that the programmer has thought    of
  5041. all possible errors, and added {code} to protect against each    one.
  5042. Thus, in some cases, this can imply code that is too    heavyweight,
  5043. due to excessive paranoia on the part of the    programmer. Syn.
  5044. {armor-plated}.
  5045.  
  5046.    :bum:  1. vt. To make highly efficient, either in time or    space,
  5047. often at the expense of clarity.  "I managed to bum three    more
  5048. instructions out of that code."  "I spent half the night    bumming the
  5049. interrupt code."  In 1996, this term and the practice it    describes
  5050. are semi-obsolete. In {elder days}, John McCarthy    (inventor of
  5051. {LISP}) used to compare some efficiency-obsessed    hackers among his
  5052. students to "ski bums"; thus, optimization    became "program bumming",
  5053. and eventually just "bumming".  2. To    squeeze out excess; to remove
  5054. something in order to improve    whatever it was removed from (without
  5055. changing function; this    distinguishes the process from a
  5056. {featurectomy}).  3. n. A small    change to an algorithm, program, or
  5057. hardware device to make it more    efficient.  "This hardware bum makes
  5058. the jump instruction    faster."  Usage: now uncommon, largely
  5059. superseded by v. {tune}    (and n. {tweak}, {hack}), though none of
  5060. these exactly    capture sense 2.  All these uses are rare in
  5061. Commonwealth hackish,    because in the parent dialects of English the
  5062. noun `bum' is a rude synonym    for `buttocks' and the verb `bum' for
  5063. buggery.
  5064.  
  5065.    :bump: vt.  Synonym for increment.  Has the same meaning as    C's
  5066. ++ operator.  Used esp. of counter variables, pointers, and    index
  5067. dummies in `for', `while', and `do-while'    loops.
  5068.  
  5069.    :burble: v.  [from Lewis Carroll's "Jabberwocky"] Like    {flame},
  5070. but connotes that the source is truly clueless and    ineffectual (mere
  5071. flamers can be competent).  A term of deep    contempt.  "There's some
  5072. guy on the phone burbling about how he    got a DISK FULL error and
  5073. it's all our comm software's fault."     This is mainstream slang in
  5074. some parts of England.
  5075.  
  5076.    :buried treasure: n.  A surprising piece of code found in some
  5077. program.  While usually not wrong, it tends to vary from    {crufty} to
  5078. {bletcherous}, and has lain undiscovered only    because it was
  5079. functionally correct, however horrible it is.  Used    sarcastically,
  5080. because what is found is anything _but_    treasure.  Buried treasure
  5081. almost always needs to be dug up and    removed.  "I just found that
  5082. the scheduler sorts its queue using    {bubble sort}!  Buried treasure!"
  5083.  
  5084.    :burn-in period: n.  1. A factory test designed to catch    systems
  5085. with {marginal} components before they get out the door;    the theory
  5086. is that burn-in will protect customers by outwaiting the    steepest
  5087. part of the {bathtub curve} (see {infant    mortality}).  2. A period
  5088. of indeterminate length in which a person    using a computer is so
  5089. intensely involved in his project that he    forgets basic needs such
  5090. as food, drink, sleep, etc.  Warning:    Excessive burn-in can lead to
  5091. burn-out.  See {hack mode},    {larval stage}.
  5092.  
  5093.    Historical note:  the origin of "burn-in" (sense 1) is apparently
  5094. the practice of setting a new-model airplane's brakes on fire, then
  5095. extinguishing the fire, in order to make them hold better.  This was
  5096. done on the first version of the U.S. spy-plane, the U-2.
  5097.  
  5098.    :burst page: n.  Syn. {banner}, sense 1.
  5099.  
  5100.    :busy-wait: vi.  Used of human behavior, conveys that the    subject
  5101. is busy waiting for someone or something, intends to move    instantly
  5102. as soon as it shows up, and thus cannot do anything else    at the
  5103. moment.  "Can't talk now, I'm busy-waiting till Bill gets    off the
  5104. phone."
  5105.  
  5106.    Technically, `busy-wait' means to wait on an event by    {spin}ning
  5107. through a tight or timed-delay loop that polls for    the event on each
  5108. pass, as opposed to setting up an interrupt    handler and continuing
  5109. execution on another part of the task.  This    is a wasteful
  5110. technique, best avoided on time-sharing systems where    a busy-waiting
  5111. program may {hog} the processor.
  5112.  
  5113.    :buzz: vi.  1. Of a program, to run with no indication of
  5114. progress and perhaps without guarantee of ever finishing; esp.     said
  5115. of programs thought to be executing tight loops of code.  A    program
  5116. that is buzzing appears to be {catatonic}, but never    gets out of
  5117. catatonia, while a buzzing loop may eventually end of    its own
  5118. accord.  "The program buzzes for about 10 seconds trying    to sort all
  5119. the names into order."  See {spin}; see also    {grovel}.  2. [ETA
  5120. Systems] To test a wire or printed circuit    trace for continuity by
  5121. applying an AC rather than DC signal.  Some    wire faults will pass DC
  5122. tests but fail a buzz test.  3. To process    an array or list in
  5123. sequence, doing the same thing to each element.     "This loop buzzes
  5124. through the tz array looking for a terminator    type."
  5125.  
  5126.    :BWQ: /B-W-Q/ n.  [IBM: abbreviation, `Buzz Word Quotient']    The
  5127. percentage of buzzwords in a speech or documents.  Usually    roughly
  5128. proportional to {bogosity}.  See {TLA}.
  5129.  
  5130.    :by hand: adv.  [common] 1. Said of an operation (especially a
  5131. repetitive, trivial, and/or tedious one) that ought to be performed
  5132. automatically by the computer, but which a hacker instead has to
  5133. step tediously through.  "My mailer doesn't have a command to
  5134. include the text of the message I'm replying to, so I have to do it
  5135. by hand."  This does not necessarily mean the speaker has to    retype
  5136. a copy of the message; it might refer to, say, dropping into    a
  5137. subshell from the mailer, making a copy of one's mailbox file,
  5138. reading that into an editor, locating the top and bottom of the
  5139. message in question, deleting the rest of the file, inserting `>'
  5140. characters on each line, writing the file, leaving the editor,
  5141. returning to the mailer, reading the file in, and later remembering
  5142. to delete the file.  Compare {eyeball search}.  2. By extension,
  5143. writing code which does something in an explicit or low-level way
  5144. for which a presupplied library routine ought to have been
  5145. available.  "This cretinous B-tree library doesn't supply a decent
  5146. iterator, so I'm having to walk the trees by hand."
  5147.  
  5148.    :byte:: /bi:t/ n.  [techspeak] A unit of memory or data equal to
  5149. the amount used to represent one character; on modern architectures
  5150. this is usually 8 bits, but may be 9 on 36-bit machines.  Some    older
  5151. architectures used `byte' for quantities of 6 or 7 bits, and    the
  5152. PDP-10 supported `bytes' that were actually bitfields of    1 to 36
  5153. bits!  These usages are now obsolete, and even 9-bit bytes    have
  5154. become rare in the general trend toward power-of-2 word sizes.
  5155.  
  5156.    Historical note: The term was coined by Werner Buchholz in 1956
  5157. during the early design phase for the IBM Stretch computer;
  5158. originally it was described as 1 to 6 bits (typical I/O equipment    of
  5159. the period used 6-bit chunks of information).  The move to an    8-bit
  5160. byte happened in late 1956, and this size was later adopted    and
  5161. promulgated as a standard by the System/360.  The word was    coined by
  5162. mutating the word `bite' so it would not be    accidentally misspelled
  5163. as {bit}.  See also {nybble}.
  5164.  
  5165.    :byte sex: n.  [common] The byte sex of hardware is    {big-endian}
  5166. or {little-endian}; see those entries.
  5167.  
  5168.    :bytesexual: /bi:t`sek'shu-*l/ adj.  [rare] Said of    hardware,
  5169. denotes willingness to compute or pass data in either    {big-endian}
  5170. or {little-endian} format (depending,    presumably, on a {mode bit}
  5171. somewhere).  See also {NUXI    problem}.
  5172.  
  5173.    :Bzzzt!  Wrong.: /bzt rong/ excl.  [common; Usenet/Internet;
  5174. punctuation varies] From a Robin Williams routine in the movie    "Dead
  5175. Poets Society" spoofing radio or TV quiz programs, such    as _Truth or
  5176. Consequences_, where an incorrect answer earns    one a blast from the
  5177. buzzer and condolences from the interlocutor.     A way of expressing
  5178. mock-rude disagreement, usually immediately    following an included
  5179. quote from another poster.  The less    abbreviated "*Bzzzzt*, wrong,
  5180. but thank you for playing" is also    common; capitalization and
  5181. emphasis of the buzzer sound varies.
  5182.  
  5183. = C =
  5184. =====
  5185.  
  5186.    :C: n.  1. The third letter of the English alphabet.  2. ASCII
  5187. 1000011.  3. The name of a programming language designed by Dennis
  5188. Ritchie during the early 1970s and immediately used to reimplement
  5189. {{Unix}}; so called because many features derived from an earlier
  5190. compiler named `B' in commemoration of _its_ parent, BCPL.     (BCPL
  5191. was in turn descended from an earlier Algol-derived language,    CPL.)
  5192. Before Bjarne Stroustrup settled the question by designing    {C++},
  5193. there was a humorous debate over whether C's successor should    be
  5194. named `D' or `P'.  C became immensely popular outside Bell Labs
  5195. after about 1980 and is now the dominant language in systems and
  5196. microcomputer applications programming.  See also {languages of
  5197. choice}, {indent style}.
  5198.  
  5199.    C is often described, with a mixture of fondness and disdain
  5200. varying according to the speaker, as "a language that combines    all
  5201. the elegance and power of assembly language with all the    readability
  5202. and maintainability of assembly language".
  5203.  
  5204.    :C Programmer's Disease: n.  The tendency of the undisciplined    C
  5205. programmer to set arbitrary but supposedly generous static limits    on
  5206. table sizes (defined, if you're lucky, by constants in header    files)
  5207. rather than taking the trouble to do proper dynamic storage
  5208. allocation.  If an application user later needs to put 68 elements
  5209. into a table of size 50, the afflicted programmer reasons that he    or
  5210. she can easily reset the table size to 68 (or even as much as    70, to
  5211. allow for future expansion) and recompile.  This gives the
  5212. programmer the comfortable feeling of having made the effort to
  5213. satisfy the user's (unreasonable) demands, and often affords the
  5214. user multiple opportunities to explore the marvelous consequences    of
  5215. {fandango on core}.  In severe cases of the disease, the    programmer
  5216. cannot comprehend why each fix of this kind seems only    to further
  5217. disgruntle the user.
  5218.  
  5219.    :C++: /C'-pluhs-pluhs/ n.  Designed by Bjarne Stroustrup    of AT&T
  5220. Bell Labs as a successor to {C}.  Now one of the    {languages of
  5221. choice}, although many hackers still grumble that    it is the
  5222. successor to either Algol 68 or {Ada} (depending on    generation), and
  5223. a prime example of {second-system effect}.     Almost anything that can
  5224. be done in any language can be done in    C++, but it requires a
  5225. {language lawyer} to know what is and    what is not legal-- the design
  5226. is _almost_ too large to hold    in even hackers' heads.  Much of the
  5227. {cruft} results from C++'s    attempt to be backward compatible with C.
  5228. Stroustrup himself has    said in his retrospective book "The Design
  5229. and Evolution of    C++" (p. 207), "Within C++, there is a much smaller
  5230. and cleaner    language struggling to get out."  [Many hackers would
  5231. now add    "Yes, and it's called {Java}" --ESR]
  5232.  
  5233.    :calculator: [Cambridge] n.  Syn. for {bitty box}.
  5234.  
  5235.    :Camel Book: n.  Universally recognized nickname for the    book
  5236. "Programming Perl", by Larry Wall and Randal L. Schwartz,    O'Reilly
  5237. Associates 1991, ISBN 0-937175-64-1 (second edition 1996,    ISBN
  5238. 1-56592-149-6).  The definitive reference on    {Perl}.
  5239.  
  5240.    :can: vt.  To abort a job on a time-sharing system.  Used    esp.
  5241. when the person doing the deed is an operator, as in    "canned from
  5242. the {{console}}".  Frequently used in an imperative    sense, as in
  5243. "Can that print job, the LPT just popped a    sprocket!"  Synonymous
  5244. with {gun}.  It is said that the ASCII    character with mnemonic CAN
  5245. (0011000) was used as a kill-job    character on some early OSes.
  5246. Alternatively, this term may derive    from mainstream slang `canned'
  5247. for being laid off or fired.
  5248.  
  5249.    :can't happen:  The traditional program comment for code    executed
  5250. under a condition that should never be true, for example a    file size
  5251. computed as negative.  Often, such a condition being true    indicates
  5252. data corruption or a faulty algorithm; it is almost    always handled
  5253. by emitting a fatal error message and terminating or    crashing, since
  5254. there is little else that can be done.  Some case    variant of "can't
  5255. happen" is also often the text emitted if the    `impossible' error
  5256. actually happens!  Although "can't happen"    events are genuinely
  5257. infrequent in production code, programmers    wise enough to check for
  5258. them habitually are often surprised at how    frequently they are
  5259. triggered during development and how many    headaches checking for
  5260. them turns out to head off. See also    {firewall code} (sense 2).
  5261.  
  5262.    :cancelbot: /kan'sel-bot/  [Usenet: portmanteau, cancel +    robot]
  5263. 1. Mythically, a {robocanceller}  2. In reality, most    cancelbots are
  5264. manually operated by being fed lists of spam message    IDs.
  5265.  
  5266.    :Cancelmoose[tm]: /kan'sel-moos/  [Usenet] The archetype and model of
  5267.   all good {spam}-fighters. Once upon a time, the 'Moose would send
  5268. out spam-cancels and then post notice anonymously to
  5269. news.admin.policy, news.admin.misc, and
  5270. alt.current-events.net-abuse.  The 'Moose stepped to the fore on    its
  5271. own initiative, at a time (mid-1994) when spam-cancels were
  5272. irregular and disorganized, and behaved altogether admirably -    fair,
  5273. even-handed, and quick to respond to comments and criticism,    all
  5274. without self-aggrandizement or martyrdom.  Cancelmoose[tm]    quickly
  5275. gained near-unanimous support from the readership of all    three
  5276. above-mentioned groups.
  5277.  
  5278.    Nobody knows who Cancelmoose[tm] really is, and there aren't even
  5279. any good rumors.  However, the 'Moose now has an e-mail address
  5280. (<moose@cm.org>) and a web site (`http://www.cm.org'.)
  5281.  
  5282.    By early 1995, others had stepped into the spam-cancel business,
  5283. and appeared to be comporting themselves well, after the 'Moose's
  5284. manner. The 'Moose has now gotten out of the business, and is more
  5285. interested in ending spam (and cancels) entirely.
  5286.  
  5287.    :candygrammar: n.  A programming-language grammar that is    mostly
  5288. {syntactic sugar}; the term is also a play on    `candygram'.  {COBOL},
  5289. Apple's Hypertalk language, and a lot    of the so-called `4GL'
  5290. database languages share this property.     The usual intent of such
  5291. designs is that they be as English-like as    possible, on the theory
  5292. that they will then be easier for unskilled    people to program.  This
  5293. intention comes to grief on the reality    that syntax isn't what makes
  5294. programming hard; it's the mental    effort and organization required
  5295. to specify an algorithm precisely    that costs.  Thus the invariable
  5296. result is that `candygrammar'    languages are just as difficult to
  5297. program in as terser ones, and    far more painful for the experienced
  5298. hacker.
  5299.  
  5300.    [The overtones from the old Chevy Chase skit on Saturday Night Live
  5301.  should not be overlooked.  This was a "Jaws" parody.  Someone
  5302. lurking outside an apartment door tries all kinds of bogus ways to
  5303. get the occupant to open up, while ominous music plays in the
  5304. background.  The last attempt is a half-hearted "Candygram!"     When
  5305. the door is opened, a shark bursts in and chomps the poor    occupant.
  5306. [There is a similar gag in "Blazing Saddles" --ESR]    There is a moral
  5307. here for those attracted to candygrammars.  Note    that, in many
  5308. circles, pretty much the same ones who remember Monty    Python
  5309. sketches, all it takes is the word "Candygram!", suitably    timed, to
  5310. get people rolling on the floor. -- GLS]
  5311.  
  5312.    :canonical: adj.  [very common; historically, `according    to
  5313. religious law'] The usual or standard state or manner of    something.
  5314. This word has a somewhat more technical meaning in    mathematics.  Two
  5315. formulas such as 9 + x and x + 9    are said to be equivalent because
  5316. they mean the same thing, but the    second one is in `canonical form'
  5317. because it is written in the    usual way, with the highest power of x
  5318. first.  Usually there    are fixed rules you can use to decide whether
  5319. something is in    canonical form.  The jargon meaning, a relaxation of
  5320. the technical    meaning, acquired its present loading in
  5321. computer-science culture    largely through its prominence in Alonzo
  5322. Church's work in    computation theory and mathematical logic (see
  5323. {Knights of the    Lambda Calculus}).  Compare {vanilla}.
  5324.  
  5325.    Non-technical academics do not use the adjective `canonical' in
  5326. any of the senses defined above with any regularity; they do    however
  5327. use the nouns `canon' and `canonicity' (not    **canonicalness or
  5328. **canonicality). The `canon' of a given author    is the complete body
  5329. of authentic works by that author (this usage    is familiar to
  5330. Sherlock Holmes fans as well as to literary    scholars).  `_The_
  5331. canon' is the body of works in a given    field (e.g., works of
  5332. literature, or of art, or of music) deemed    worthwhile for students
  5333. to study and for scholars to investigate.
  5334.  
  5335.    The word `canon' has an interesting history.  It derives
  5336. ultimately from the Greek    `kanon'    (akin to the English `cane')
  5337. referring to a reed.  Reeds were used    for measurement, and in Latin
  5338. and later Greek the word `canon'    meant a rule or a standard.  The
  5339. establishment of a canon of    scriptures within Christianity was meant
  5340. to define a standard or a    rule for the religion.  The above
  5341. non-techspeak academic usages    stem from this instance of a defined
  5342. and accepted body of work.     Alongside this usage was the
  5343. promulgation of `canons' (`rules')    for the government of the
  5344. Catholic Church.  The techspeak usages    ("according to religious
  5345. law") derive from this use of the Latin    `canon'.
  5346.  
  5347.    Hackers invest this term with a playfulness that makes an ironic
  5348. contrast with its historical meaning.  A true story: One Bob
  5349. Sjoberg, new at the MIT AI Lab, expressed some annoyance at the
  5350. incessant use of jargon.  Over his loud objections, GLS and RMS    made
  5351. a point of using as much of it as possible in his presence,    and
  5352. eventually it began to sink in.  Finally, in one conversation,    he
  5353. used the word `canonical' in jargon-like fashion without    thinking.
  5354. Steele: "Aha!  We've finally got you talking jargon    too!"  Stallman:
  5355. "What did he say?"  Steele: "Bob just used    `canonical' in the
  5356. canonical way."
  5357.  
  5358.    Of course, canonicality depends on context, but it is implicitly
  5359. defined as the way _hackers_ normally expect things to be.     Thus, a
  5360. hacker may claim with a straight face that `according to    religious
  5361. law' is _not_ the canonical meaning of    `canonical'.
  5362.  
  5363.    :card walloper: n.  An EDP programmer who grinds out batch
  5364. programs that do stupid things like print people's paychecks.
  5365. Compare {code grinder}.  See also {{punched card}},    {eighty-column
  5366. mind}.
  5367.  
  5368.    :careware: /keir'weir/ n.  A variety of {shareware} for    which
  5369. either the author suggests that some payment be made to a    nominated
  5370. charity or a levy directed to charity is included on top    of the
  5371. distribution charge.  Syn. {charityware}; compare    {crippleware},
  5372. sense 2.
  5373.  
  5374.    :cargo cult programming: n.  A style of (incompetent)    programming
  5375. dominated by ritual inclusion of code or program    structures that
  5376. serve no real purpose.  A cargo cult programmer    will usually explain
  5377. the extra code as a way of working around some    bug encountered in
  5378. the past, but usually neither the bug nor the    reason the code
  5379. apparently avoided the bug was ever fully    understood (compare
  5380. {shotgun debugging}, {voodoo    programming}).
  5381.  
  5382.    The term `cargo cult' is a reference to aboriginal religions that
  5383. grew up in the South Pacific after World War II.  The practices of
  5384. these cults center on building elaborate mockups of airplanes and
  5385. military style landing strips in the hope of bringing the return of
  5386. the god-like airplanes that brought such marvelous cargo during the
  5387. war.  Hackish usage probably derives from Richard Feynman's
  5388. characterization of certain practices as "cargo cult science" in    his
  5389. book "Surely You're Joking, Mr. Feynman!" (W. W. Norton    & Co, New
  5390. York 1985, ISBN 0-393-01921-7).
  5391.  
  5392.    :cascade: n.  1. A huge volume of spurious error-message    output
  5393. produced by a compiler with poor error recovery.  Too    frequently,
  5394. one trivial syntax error (such as a missing `)' or    `}') throws the
  5395. parser out of synch so that much of the remaining    program text is
  5396. interpreted as garbaged or ill-formed.  2. A chain    of Usenet
  5397. followups, each adding some trivial variation or riposte    to the text
  5398. of the previous one, all of which is reproduced in the    new message;
  5399. an {include war} in which the object is to create a    sort of communal
  5400. graffito.
  5401.  
  5402.    :case and paste: n.  [from `cut and paste'] 1. The    addition of a
  5403. new {feature} to an existing system by selecting    the code from an
  5404. existing feature and pasting it in with minor    changes.  Common in
  5405. telephony circles because most operations in a    telephone switch are
  5406. selected using `case' statements.  Leads    to {software bloat}.
  5407.  
  5408.    In some circles of EMACS users this is called `programming by
  5409. Meta-W', because Meta-W is the EMACS command for copying a block of
  5410. text to a kill buffer in preparation to pasting it in elsewhere.
  5411. The term is condescending, implying that the programmer is acting
  5412. mindlessly rather than thinking carefully about what is required to
  5413. integrate the code for two similar cases.
  5414.  
  5415.    At {DEC} (now Compaq), this is sometimes called    `clone-and-hack'
  5416. coding.
  5417.  
  5418.    :casters-up mode: n.  [IBM, prob. fr. slang belly up] Yet    another
  5419. synonym for `broken' or `down'.  Usually connotes a    major failure.
  5420. A system (hardware or software) which is `down'    may be already being
  5421. restarted before the failure is noticed,    whereas one which is
  5422. `casters up' is usually a good excuse to    take the rest of the day
  5423. off (as long as you're not responsible for    fixing it).
  5424.  
  5425.    :casting the runes: n.  What a {guru} does when you ask him    or
  5426. her to run a particular program and type at it because it never
  5427. works for anyone else; esp. used when nobody can ever see what    the
  5428. guru is doing different from what J. Random Luser does.     Compare
  5429. {incantation}, {runes}, {examining the entrails};    also see the AI
  5430. koan about Tom Knight in "{Some AI Koans}"    (Appendix A).
  5431.  
  5432.    A correspondent from England tells us that one of ICL's most
  5433. talented systems designers used to be called out occasionally to
  5434. service machines which the {field circus} had given up on.     Since he
  5435. knew the design inside out, he could often find faults    simply by
  5436. listening to a quick outline of the symptoms.  He used to    play on
  5437. this by going to some site where the field circus had just    spent the
  5438. last two weeks solid trying to find a fault, and    spreading a diagram
  5439. of the system out on a table top.  He'd then    shake some chicken
  5440. bones and cast them over the diagram, peer at    the bones intently for
  5441. a minute, and then tell them that a certain    module needed replacing.
  5442. The system would start working again    immediately upon the
  5443. replacement.
  5444.  
  5445.    :cat: [from `catenate' via {{Unix}} `cat(1)'] vt.     1. [techspeak]
  5446. To spew an entire file to the screen or some other    output sink
  5447. without pause.  2. By extension, to dump large amounts    of data at an
  5448. unprepared target or with no intention of browsing it    carefully.
  5449. Usage: considered silly.  Rare outside Unix sites.  See    also {dd},
  5450. {BLT}.
  5451.  
  5452.    Among Unix fans, `cat(1)' is considered an excellent example    of
  5453. user-interface design, because it delivers the file contents    without
  5454. such verbosity as spacing or headers between the files, and    because
  5455. it does not require the files to consist of lines of text,    but works
  5456. with any sort of data.
  5457.  
  5458.    Among Unix haters, `cat(1)' is considered the {canonical}    example
  5459. of _bad_ user-interface design, because of its    woefully unobvious
  5460. name.  It is far more often used to {blast} a    file to standard
  5461. output than to concatenate two files.  The name    `cat' for the former
  5462. operation is just as unintuitive as, say,    LISP's {cdr}.
  5463.  
  5464.    Of such oppositions are {holy wars} made....
  5465.  
  5466.    :catatonic: adj.  Describes a condition of suspended animation    in
  5467. which something is so {wedged} or {hung} that it makes no    response.
  5468. If you are typing on a terminal and suddenly the    computer doesn't
  5469. even echo the letters back to the screen as you    type, let alone do
  5470. what you're asking it to do, then the computer    is suffering from
  5471. catatonia (possibly because it has crashed).     "There I was in the
  5472. middle of a winning game of {nethack} and    it went catatonic on me!
  5473. Aaargh!" Compare {buzz}.
  5474.  
  5475.    :cathedral: n.,adj.  [see {bazaar} for derivation] The
  5476. `classical' mode of software engineering long thought to be
  5477. necessarily implied by {Brooks's Law}.  Features small teams,    tight
  5478. project control, and long release intervals.  This term came    into
  5479. use after analysis of the Linux experience suggested there    might be
  5480. something wrong (or at least incomplete) in the classical
  5481. assumptions.
  5482.  
  5483.    :cd tilde: /C-D til-d*/ vi.  To go home.  From the Unix    C-shell
  5484. and Korn-shell command `cd ~', which takes one to    one's `$HOME'
  5485. (`cd' with no arguments happens to do the    same thing).  By
  5486. extension, may be used with other arguments; thus,    over an
  5487. electronic chat link, `cd ~coffee' would mean "I'm    going to the
  5488. coffee machine."
  5489.  
  5490.    :CDA: /C-D-A/   The "Communications Decency Act" of 1996,    passed
  5491. on {Black Thursday} as section 502 of a major    telecommunications
  5492. reform bill. The CDA made it a federal crime in    the USA to send a
  5493. communication which is "obscene,    lewd, lascivious, filthy, or
  5494. indecent, with intent to annoy, abuse,    threaten, or harass another
  5495. person." It also threatened with    imprisonment anyone who "knowingly"
  5496. makes accessible to minors    any message that "describes, in terms
  5497. patently offensive as    measured by contemporary community standards,
  5498. sexual or excretory    activities or organs".
  5499.  
  5500.    While the CDA was sold as a measure to protect minors from the
  5501. putative evils of pornography, the repressive political aims of the
  5502. bill were laid bare by the Hyde amendment, which intended to    outlaw
  5503. discussion of abortion on the Internet.
  5504.  
  5505.    To say that this direct attack on First Amendment free-speech
  5506. rights was not well received on the Internet would be putting it
  5507. mildly.  A firestorm of protest followed, including a February 29th
  5508. mass demonstration by thousands of netters who turned their    {home
  5509. page}s black for 48 hours.  Several civil-rights groups    and
  5510. computing/telecommunications companies mounted a constitutional
  5511. challenge.  The CDA was demolished by a strongly-worded decision
  5512. handed down on in 8th-circuit Federal court and subsequently
  5513. affirmed by the U.S. Supreme Court on 26 June 1997 (`White
  5514. Thursday'). See also {Exon}.
  5515.  
  5516.    :cdr: /ku'dr/ or /kuh'dr/ vt.  [from LISP] To skip past    the first
  5517. item from a list of things (generalized from the LISP    operation on
  5518. binary tree structures, which returns a list    consisting of all but
  5519. the first element of its argument).  In the    form `cdr down', to
  5520. trace down a list of elements: "Shall we cdr    down the agenda?"
  5521. Usage: silly.  See also {loop through}.
  5522.  
  5523.    Historical note: The instruction format of the IBM 704 that hosted
  5524. the original LISP implementation featured two 15-bit fields called
  5525. the `address' and `decrement' parts.  The term `cdr' was originally
  5526. `Contents of Decrement part of Register'.  Similarly, `car' stood
  5527. for `Contents of Address part of Register'.
  5528.  
  5529.    The cdr and car operations have since become bases for    formation
  5530. of compound metaphors in non-LISP contexts.  GLS recalls,    for
  5531. example, a programming project in which strings were    represented as
  5532. linked lists; the get-character and skip-character    operations were
  5533. of course called CHAR and CHDR.
  5534.  
  5535.    :chad: /chad/ n.  1. [common] The perforated edge strips    on
  5536. printer paper, after they have been separated from the printed
  5537. portion.  Also called {selvage}, {perf}, and {ripoff}.     2. obs. The
  5538. confetti-like paper bits punched out of cards or    paper tape; this
  5539. has also been called `chaff', `computer    confetti', and `keypunch
  5540. droppings'.  It's reported that this was    very old Army slang, and it
  5541. may now be mainstream; it has been    reported seen (1993) in
  5542. directions for a card-based voting machine    in California.
  5543.  
  5544.    Historical note: One correspondent believes `chad' (sense 2)
  5545. derives from the Chadless keypunch (named for its inventor), which
  5546. cut little u-shaped tabs in the card to make a hole when the tab
  5547. folded back, rather than punching out a circle/rectangle; it was
  5548. clear that if the Chadless keypunch didn't make them, then the    stuff
  5549. that other keypunches made had to be `chad'.  There is a    legend that
  5550. the word was originally acronymic, standing for    "Card Hole Aggregate
  5551. Debris", but this has all the earmarks of    a {backronym}.
  5552.  
  5553.    :chad box: n.  A metal box about the size of a lunchbox (or in
  5554. some models a large wastebasket), for collecting the {chad}    (sense
  5555. 2) that accumulated in {Iron Age} card punches.  You had    to open the
  5556. covers of the card punch periodically and empty the    chad box.  The
  5557. {bit bucket} was notionally the equivalent device    in the CPU
  5558. enclosure, which was typically across the room in    another great
  5559. gray-and-blue box.
  5560.  
  5561.    :chain:  1. vi. [orig. from BASIC's `CHAIN' statement]    To hand
  5562. off execution to a child or successor without going    through the {OS}
  5563. command interpreter that invoked it.  The state    of the parent
  5564. program is lost and there is no returning to it.     Though this
  5565. facility used to be common on memory-limited micros and    is still
  5566. widely supported for backward compatibility, the jargon    usage is
  5567. semi-obsolescent; in particular, most Unix programmers    will think of
  5568. this as an {exec}.  Oppose the more modern    `subshell'.  2. n. A
  5569. series of linked data areas within an    operating system or
  5570. application.  `Chain rattling' is the process    of repeatedly running
  5571. through the linked data areas searching for    one which is of interest
  5572. to the executing program.  The implication    is that there is a very
  5573. large number of links on the chain.
  5574.  
  5575.    :channel: n.  [IRC] The basic unit of discussion on    {IRC}.  Once
  5576. one joins a channel, everything one types is read    by others on that
  5577. channel.  Channels are named with strings that    begin with a `#' sign
  5578. and can have topic descriptions (which are    generally irrelevant to
  5579. the actual subject of discussion).  Some    notable channels are
  5580. `#initgame', `#hottub',    `callahans', and `#report'.  At times of
  5581. international    crisis, `#report' has hundreds of members, some of
  5582. whom take    turns listening to various news services and typing in
  5583. summaries of    the news, or in some cases, giving first-hand accounts
  5584. of the    action (e.g., Scud missile attacks in Tel Aviv during the
  5585. Gulf War    in 1991).
  5586.  
  5587.    :channel hopping: n.  [common; IRC, GEnie] To rapidly    switch
  5588. channels on {IRC}, or a GEnie chat board, just as a    social butterfly
  5589. might hop from one group to another at a party.     This term may
  5590. derive from the TV watcher's idiom, `channel    surfing'.
  5591.  
  5592.    :channel op: /chan'l op/ n.  [IRC] Someone who is endowed    with
  5593. privileges on a particular {IRC} channel; commonly    abbreviated
  5594. `chanop' or `CHOP'.  These privileges include the    right to {kick}
  5595. users, to change various status bits, and to    make others into CHOPs.
  5596.  
  5597.    :chanop: /chan'-op/ n.  [IRC] See {channel op}.
  5598.  
  5599.    :char: /keir/ or /char/; rarely, /kar/ n.  Shorthand for
  5600. `character'.  Esp. used by C programmers, as `char' is C's    typename
  5601. for character data.
  5602.  
  5603.    :charityware: /cha'rit-ee-weir`/ n.  Syn. {careware}.
  5604.  
  5605.    :chase pointers:  1. vi. To go through multiple levels of
  5606. indirection, as in traversing a linked list or graph structure.
  5607. Used esp. by programmers in C, where explicit pointers are a very
  5608. common data type.  This is techspeak, but it remains jargon when
  5609. used of human networks.  "I'm chasing pointers.  Bob said you    could
  5610. tell me who to talk to about...." See {dangling    pointer} and {snap}.
  5611. 2. [Cambridge] `pointer chase' or    `pointer hunt': The process of
  5612. going through a {core dump}    (sense 1), interactively or on a large
  5613. piece of paper printed with    hex {runes}, following dynamic
  5614. data-structures.  Used only in a    debugging context.
  5615.  
  5616.    :chawmp: n.  [University of Florida] 16 or 18 bits (half of a
  5617. machine word).  This term was used by FORTH hackers during the late
  5618. 1970s/early 1980s; it is said to have been archaic then, and may    now
  5619. be obsolete.  It was coined in revolt against the promiscuous    use of
  5620. `word' for anything between 16 and 32 bits; `word' has    an additional
  5621. special meaning for FORTH hacks that made the    overloading
  5622. intolerable.  For similar reasons, /gaw'bl/ (spelled    `gawble' or
  5623. possibly `gawbul') was in use as a term for 32 or    48 bits
  5624. (presumably a full machine word, but our sources are    unclear on
  5625. this).  These terms are more easily understood if one    thinks of them
  5626. as faithful phonetic spellings of `chomp' and    `gobble' pronounced in
  5627. a Florida or other Southern U.S. dialect.     For general discussion of
  5628. similar terms, see {nybble}.
  5629.  
  5630.    :check: n.  A hardware-detected error condition, most commonly
  5631. used to refer to actual hardware failures rather than
  5632. software-induced traps.  E.g., a `parity check' is the result of    a
  5633. hardware-detected parity error.  Recorded here because the word
  5634. often humorously extended to non-technical problems. For example,
  5635. the term `child check' has been used to refer to the problems    caused
  5636. by a small child who is curious to know what happens when    s/he
  5637. presses all the cute buttons on a computer's console (of    course,
  5638. this particular problem could have been prevented with
  5639. {molly-guard}s).
  5640.  
  5641.    :chemist: n.  [Cambridge] Someone who wastes computer time    on
  5642. {number-crunching} when you'd far rather the machine were    doing
  5643. something more productive, such as working out anagrams of    your name
  5644. or printing Snoopy calendars or running {life}    patterns.  May or may
  5645. not refer to someone who actually studies    chemistry.
  5646.  
  5647.    :Chernobyl chicken: n.  See {laser chicken}.
  5648.  
  5649.    :Chernobyl packet: /cher-noh'b*l pak'*t/ n.  A network    packet
  5650. that induces a {broadcast storm} and/or {network    meltdown}, in
  5651. memory of the April 1986 nuclear accident at    Chernobyl in Ukraine.
  5652. The typical scenario involves an IP Ethernet    datagram that passes
  5653. through a gateway with both source and    destination Ether and IP
  5654. address set as the respective broadcast    addresses for the
  5655. subnetworks being gated between.  Compare    {Christmas tree packet}.
  5656.  
  5657.    :chicken head: n.  [Commodore] The Commodore Business    Machines
  5658. logo, which strongly resembles a poultry part.  Rendered    in ASCII as
  5659. `C='.  With the arguable exception of the Amiga (see    {amoeba}),
  5660. Commodore's machines are notoriously crocky little    {bitty box}es
  5661. (see also {PETSCII}).  Thus, this usage may owe    something to Philip
  5662. K. Dick's novel "Do Androids Dream of    Electric Sheep?"  (the basis
  5663. for the movie "Blade Runner"; the    novel is now sold under that
  5664. title), in which a `chickenhead' is    a mutant with below-average
  5665. intelligence.
  5666.  
  5667.    :chiclet keyboard: n.  A keyboard with a small, flat    rectangular
  5668. or lozenge-shaped rubber or plastic keys that look like    pieces of
  5669. chewing gum.  (Chiclets is the brand name of a variety of    chewing
  5670. gum that does in fact resemble the keys of chiclet    keyboards.)  Used
  5671. esp. to describe the original IBM PCjr    keyboard.  Vendors
  5672. unanimously liked these because they were cheap,    and a lot of early
  5673. portable and laptop products got launched using    them.  Customers
  5674. rejected the idea with almost equal unanimity, and    chiclets are not
  5675. often seen on anything larger than a digital watch    any more.
  5676.  
  5677.    :Chinese Army technique: n.  Syn. {Mongolian Hordes    technique}.
  5678.  
  5679.    :choad: /chohd/ n.  Synonym for `penis' used in    alt.tasteless and
  5680. popularized by the denizens thereof.  They    say: "We think maybe it's
  5681. from Middle English but we're all too    damned lazy to check the OED."
  5682. [I'm not.  It isn't. --ESR] This    term is alleged to have been
  5683. inherited through 1960s underground    comics, and to have been
  5684. recently sighted in the Beavis and    Butthead cartoons.  Speakers of
  5685. the Hindi, Bengali and Gujarati    languages have confirmed that
  5686. `choad' is in fact an Indian    vernacular word equivalent to `fuck';
  5687. it is therefore likely to    have entered English slang via the British
  5688. Raj.
  5689.  
  5690.    :choke: v.  1. [common] To reject input, often    ungracefully.
  5691. "NULs make System V's `lpr(1)' choke."  "I    tried building an {EMACS}
  5692. binary to use {X}, but    `cpp(1)' choked on all those `#define's."  See
  5693.   {barf}, {gag}, {vi}.  2. [MIT] More generally, to fail at    any
  5694. endeavor, but with some flair or bravado; the popular    definition is
  5695. "to snatch defeat from the jaws of victory."
  5696.  
  5697.    :chomp: vi.  1. To {lose}; specifically, to chew on something    of
  5698. which more was bitten off than one can.  Probably related to
  5699. gnashing of teeth.  2. To bite the bag; See {bagbiter}.
  5700.  
  5701.    A hand gesture commonly accompanies this.  To perform it, hold the
  5702. four fingers together and place the thumb against their tips.  Now
  5703. open and close your hand rapidly to suggest a biting action (much
  5704. like what Pac-Man does in the classic video game, though this
  5705. pantomime seems to predate that).  The gesture alone means `chomp
  5706. chomp' (see "{Verb Doubling}" in the "{Jargon    Construction}" section
  5707. of the Prependices).  The hand may be    pointed at the object of
  5708. complaint, and for real emphasis you can    use both hands at once.
  5709. Doing this to a person is equivalent to    saying "You chomper!"  If
  5710. you point the gesture at yourself, it    is a humble but humorous
  5711. admission of some failure.  You might do    this if someone told you
  5712. that a program you had written had failed    in some surprising way and
  5713. you felt dumb for not having anticipated    it.
  5714.  
  5715.    :chomper: n.  Someone or something that is chomping; a loser.
  5716. See {loser}, {bagbiter}, {chomp}.
  5717.  
  5718.    :CHOP: /chop/ n.  [IRC] See {channel op}.
  5719.  
  5720.    :Christmas tree: n.  A kind of RS-232 line tester or breakout    box
  5721. featuring rows of blinking red and green LEDs suggestive of
  5722. Christmas lights.
  5723.  
  5724.    :Christmas tree packet: n.  A packet with every single    option set
  5725. for whatever protocol is in use.  See {kamikaze    packet}, {Chernobyl
  5726. packet}.  (The term doubtless derives from a    fanciful image of each
  5727. little option bit being represented by a    different-colored light
  5728. bulb, all turned on.) Compare    {Godzillagram}.
  5729.  
  5730.    :chrome: n.  [from automotive slang via wargaming] Showy features
  5731. added to attract users but contributing little or nothing to    the
  5732. power of a system.  "The 3D icons in Motif are just chrome,    but they
  5733. certainly are _pretty_ chrome!"  Distinguished from    {bells and
  5734. whistles} by the fact that the latter are usually    added to gratify
  5735. developers' own desires for featurefulness.     Often used as a term of
  5736. contempt.
  5737.  
  5738.    :chug: vi.  To run slowly; to {grind} or {grovel}.     "The disk is
  5739. chugging like crazy."
  5740.  
  5741.    :Church of the SubGenius: n.  A mutant offshoot of
  5742. {Discordianism} launched in 1981 as a spoof of fundamentalist
  5743. Christianity by the `Reverend' Ivan Stang, a brilliant satirist    with
  5744. a gift for promotion.  Popular among hackers as a rich source    of
  5745. bizarre imagery and references such as "Bob" the divine
  5746. drilling-equipment salesman, the Benevolent Space Xists, and the
  5747. Stark Fist of Removal.  Much SubGenius theory is concerned with the
  5748. acquisition of the mystical substance or quality of {slack}.
  5749.  
  5750.    :Cinderella Book: [CMU] n.  "Introduction to Automata    Theory,
  5751. Languages, and Computation", by John Hopcroft and Jeffrey    Ullman,
  5752. (Addison-Wesley, 1979).  So called because the cover    depicts a girl
  5753. (putatively Cinderella) sitting in front of a Rube    Goldberg device
  5754. and holding a rope coming out of it.  On the back    cover, the device
  5755. is in shambles after she has (inevitably) pulled    on the rope.  See
  5756. also {{book titles}}.
  5757.  
  5758.    :CI$: // n.  Hackerism for `CIS', CompuServe Information    Service.
  5759. The dollar sign refers to CompuServe's rather steep line    charges.
  5760. Often used in {sig block}s just before a CompuServe    address.  Syn.
  5761. {Compu$erve}.
  5762.  
  5763.    :Classic C: /klas'ik C/ n.  [a play on `Coke Classic']    The C
  5764. programming language as defined in the first edition of    {K&R}, with
  5765. some small additions.  It is also known as `K&R C'.     The name came
  5766. into use while C was being standardized by the ANSI    X3J11 committee.
  5767. Also `C Classic'.
  5768.  
  5769.    An analogous construction is sometimes applied elsewhere: thus,
  5770. `X Classic', where X = Star Trek (referring to the original TV
  5771. series) or X = PC (referring to IBM's ISA-bus machines as opposed    to
  5772. the PS/2 series).  This construction is especially used of    product
  5773. series in which the newer versions are considered serious    losers
  5774. relative to the older ones.
  5775.  
  5776.    :clean: 1. adj.  Used of hardware or software designs, implies
  5777. `elegance in the small', that is, a design or implementation that
  5778. may not hold any surprises but does things in a way that is
  5779. reasonably intuitive and relatively easy to comprehend from the
  5780. outside.  The antonym is `grungy' or {crufty}.  2. v. To    remove
  5781. unneeded or undesired files in a effort to reduce clutter:    "I'm
  5782. cleaning up my account."  "I cleaned up the garbage and now    have 100
  5783. Meg free on that partition."
  5784.  
  5785.    :CLM: /C-L-M/  [Sun: `Career Limiting Move'] 1. n. An action
  5786. endangering one's future prospects of getting plum projects and
  5787. raises, and possibly one's job: "His Halloween costume was a    parody
  5788. of his manager.  He won the prize for `best CLM'."  2. adj.     Denotes
  5789. extreme severity of a bug, discovered by a customer and    obviously
  5790. missed earlier because of poor testing: "That's a CLM    bug!"
  5791.  
  5792.    :clobber: vt.  To overwrite, usually unintentionally: "I    walked
  5793. off the end of the array and clobbered the stack."  Compare    {mung},
  5794. {scribble}, {trash}, and {smash the stack}.
  5795.  
  5796.    :clock:  1. n 1. [techspeak] The master oscillator that    steps a
  5797. CPU or other digital circuit through its paces. This has    nothing to
  5798. do with the time of day, although the software counter    that keeps
  5799. track of the latter may be derived from the    former. 2. vt.  To run a
  5800. CPU or other digital circuit at a    particular rate. "If you clock it
  5801. at 100MHz, it gets warm.".  See    {overclock}.  3. vt. To force a
  5802. digital circuit from one    state to the next by applying a single
  5803. clock pulse. "The data must    be stable 10ns before you clock the
  5804. latch."
  5805.  
  5806.    :clocks: n.  Processor logic cycles, so called because each
  5807. generally corresponds to one clock pulse in the processor's timing.
  5808. The relative execution times of instructions on a machine are
  5809. usually discussed in clocks rather than absolute fractions of a
  5810. second; one good reason for this is that clock speeds for various
  5811. models of the machine may increase as technology improves, and it    is
  5812. usually the relative times one is interested in when discussing    the
  5813. instruction set.  Compare {cycle}, {jiffy}.
  5814.  
  5815.    :clone: n.  1. An exact duplicate: "Our product is a clone of
  5816. their product."  Implies a legal reimplementation from    documentation
  5817. or by reverse-engineering.  Also connotes lower    price.  2. A shoddy,
  5818. spurious copy: "Their product is a clone of    our product."  3. A
  5819. blatant ripoff, most likely violating    copyright, patent, or trade
  5820. secret protections: "Your product is a    clone of my product."  This
  5821. use implies legal action is pending.     4. `PC clone:' a PC-BUS/ISA or
  5822. EISA-compatible 80x86-based    microcomputer (this use is sometimes
  5823. spelled `klone' or    `PClone').  These invariably have much more bang
  5824. for the buck    than the IBM archetypes they resemble.  5. In the
  5825. construction    `Unix clone': An OS designed to deliver a Unix-lookalike
  5826.   environment without Unix license fees, or with additional
  5827. `mission-critical' features such as support for real-time
  5828. programming.  6. v. To make an exact copy of something.  "Let me
  5829. clone that" might mean "I want to borrow that paper so I can make    a
  5830. photocopy" or "Let me get a copy of that file before you    {mung} it".
  5831.  
  5832.    :clone-and-hack coding: n.  [DEC] Syn. {case and paste}.
  5833.  
  5834.    :clover key: n.  [Mac users] See {feature key}.
  5835.  
  5836.    :clue-by-four:  [Usenet: portmanteau, clue + two-by-four] The
  5837. notional stick with which one whacks an aggressively clueless
  5838. person.  This term derives from a western American folk saying    about
  5839. training a mule "First, you got to hit him with a    two-by-four.
  5840. That's to get his attention." The clue-by-four is a    close relative
  5841. of the {LART}.
  5842.  
  5843.    :clustergeeking: /kluh'st*r-gee`king/ n.  [CMU] Spending    more
  5844. time at a computer cluster doing CS homework than most people    spend
  5845. breathing.
  5846.  
  5847.    :coaster: n.  1. Unuseable CD produced during failed attempt    at
  5848. writing to writeable or re-writeable CD media.  Certainly    related to
  5849. the coaster-like shape of a CD, and the relative value    of these
  5850. failures.  "I made a lot of coasters before I got a good    CD." 2.
  5851. Useless CDs received in the mail from the likes of    AOL, MSN, CI$,
  5852. Prodigy, ad nauseam.
  5853.  
  5854.    :COBOL: /koh'bol/ n.  [COmmon Business-Oriented Language]
  5855. (Synonymous with {evil}.)  A weak, verbose, and flabby language    used
  5856. by {card walloper}s to do boring mindless things on    {dinosaur}
  5857. mainframes.  Hackers believe that all COBOL    programmers are {suit}s
  5858. or {code grinder}s, and no    self-respecting hacker will ever admit to
  5859. having learned the    language.  Its very name is seldom uttered
  5860. without ritual    expressions of disgust or horror.  One popular one is
  5861. Edsger W.     Dijkstra's famous observation that "The use of COBOL
  5862. cripples the    mind; its teaching should, therefore, be regarded as a
  5863. criminal    offense." (from "Selected Writings on Computing: A Personal
  5864.   Perspective") See also {fear and loathing}, {software    rot}.
  5865.  
  5866.    :COBOL fingers: /koh'bol fing'grz/ n.  Reported from Sweden,    a
  5867. (hypothetical) disease one might get from coding in COBOL.  The
  5868. language requires code verbose beyond all reason (see
  5869. {candygrammar}); thus it is alleged that programming too much in
  5870. COBOL causes one's fingers to wear down to stubs by the endless
  5871. typing.  "I refuse to type in all that source code again; it would
  5872. give me COBOL fingers!"
  5873.  
  5874.    :cobweb site: n.  A World Wide Web Site that hasn't been    updated
  5875. so long it has figuratively grown cobwebs.
  5876.  
  5877.    :code: n.  The stuff that software writers write, either    in
  5878. source form or after translation by a compiler or assembler.     Often
  5879. used in opposition to "data", which is the stuff that code    operates
  5880. on.  This is a mass noun, as in "How much code does it    take to do a
  5881. {bubble sort}?", or "The code is loaded at the    high end of RAM."
  5882. Anyone referring to software as "the software    codes" is probably a
  5883. {newbie} or a {suit}.
  5884.  
  5885.    :code grinder: n.  1. A {suit}-wearing minion of the sort    hired
  5886. in legion strength by banks and insurance companies to    implement
  5887. payroll packages in RPG and other such unspeakable    horrors.  In its
  5888. native habitat, the code grinder often removes the    suit jacket to
  5889. reveal an underplumage consisting of button-down    shirt (starch
  5890. optional) and a tie.  In times of dire stress, the    sleeves (if long)
  5891. may be rolled up and the tie loosened about half    an inch.  It seldom
  5892. helps.  The {code grinder}'s milieu is about    as far from hackerdom
  5893. as one can get and still touch a computer;    the term connotes pity.
  5894. See {Real World}, {suit}.  2. Used    of or to a hacker, a really
  5895. serious slur on the person's creative    ability; connotes a design
  5896. style characterized by primitive    technique, rule-boundedness, {brute
  5897. force}, and utter lack of    imagination.  Compare {card walloper};
  5898. contrast {hacker},    {Real Programmer}.
  5899.  
  5900.    :Code of the Geeks: n.  see {geek code}.
  5901.  
  5902.    :code police: n.  [by analogy with George Orwell's `thought
  5903. police'] A mythical team of Gestapo-like storm troopers that might
  5904. burst into one's office and arrest one for violating programming
  5905. style rules.  May be used either seriously, to underline a claim
  5906. that a particular style violation is dangerous, or ironically, to
  5907. suggest that the practice under discussion is condemned mainly by
  5908. anal-retentive {weenie}s.  "Dike out that goto or the code    police
  5909. will get you!"  The ironic usage is perhaps more common.
  5910.  
  5911.    :codes: n.  [scientific computing] Programs.  This usage is common
  5912. in people who hack supercomputers and heavy-duty
  5913. {number-crunching}, rare to unknown elsewhere (if you say    "codes" to
  5914. hackers outside scientific computing, their    first association is
  5915. likely to be "and cyphers").
  5916.  
  5917.    :codewalker: n.  A program component that traverses other
  5918. programs for a living.  Compilers have codewalkers in their front
  5919. ends; so do cross-reference generators and some database front    ends.
  5920. Other utility programs that try to do too much with source    code may
  5921. turn into codewalkers.  As in "This new `vgrind'    feature would
  5922. require a codewalker to implement."
  5923.  
  5924.    :coefficient of X: n.  Hackish speech makes heavy use of
  5925. pseudo-mathematical metaphors.  Four particularly important    ones
  5926. involve the terms `coefficient', `factor', `index of X', and
  5927. `quotient'.  They are often loosely applied to things you cannot
  5928. really be quantitative about, but there are subtle distinctions
  5929. among them that convey information about the way the speaker
  5930. mentally models whatever he or she is describing.
  5931.  
  5932.    `Foo factor' and `foo quotient' tend to describe something for
  5933. which the issue is one of presence or absence.  The canonical
  5934. example is {fudge factor}.  It's not important how much you're
  5935. fudging; the term simply acknowledges that some fudging is needed.
  5936. You might talk of liking a movie for its silliness factor.     Quotient
  5937. tends to imply that the property is a ratio of two    opposing factors:
  5938. "I would have won except for my luck quotient."     This could also be
  5939. "I would have won except for the luck factor",    but using _quotient_
  5940. emphasizes that it was bad luck    overpowering good luck (or someone
  5941. else's good luck overpowering    your own).
  5942.  
  5943.    `Foo index' and `coefficient of foo' both tend to imply    that foo
  5944. is, if not strictly measurable, at least something that    can be
  5945. larger or smaller.  Thus, you might refer to a paper or    person as
  5946. having a `high bogosity index', whereas you would be less    likely to
  5947. speak of a `high bogosity factor'.  `Foo index' suggests    that foo is
  5948. a condensation of many quantities, as in the mundane    cost-of-living
  5949. index; `coefficient of foo' suggests that foo is a    fundamental
  5950. quantity, as in a coefficient of friction.  The choice    between these
  5951. terms is often one of personal preference; e.g., some    people might
  5952. feel that bogosity is a fundamental attribute and thus    say
  5953. `coefficient of bogosity', whereas others might feel it is a
  5954. combination of factors and thus say `bogosity index'.
  5955.  
  5956.    :cokebottle: /kohk'bot-l/ n.  Any very unusual character,
  5957. particularly one you can't type because it isn't on your    keyboard.
  5958. MIT people used to complain about the    `control-meta-cokebottle'
  5959. commands at SAIL, and SAIL people    complained right back about the
  5960. `escape-escape-cokebottle'    commands at MIT.  After the demise of the
  5961. {space-cadet    keyboard}, `cokebottle' faded away as serious usage,
  5962. but was    often invoked humorously to describe an (unspecified) weird
  5963. or    non-intuitive keystroke command.  It may be due for a second
  5964. inning, however.  The OSF/Motif window manager, `mwm(1)', has    a
  5965. reserved keystroke for switching to the default set of    keybindings
  5966. and behavior.  This keystroke is (believe it or not)
  5967. `control-meta-bang' (see {bang}).  Since the exclamation point    looks
  5968. a lot like an upside down Coke bottle, Motif hackers have    begun
  5969. referring to this keystroke as `cokebottle'.  See also    {quadruple
  5970. bucky}.
  5971.  
  5972.    :cold boot: n.  See {boot}.
  5973.  
  5974.    :COME FROM: n.  A semi-mythical language construct dual to the
  5975. `go to'; `COME FROM' <label> would cause the referenced label    to act
  5976. as a sort of trapdoor, so that if the program ever reached    it
  5977. control would quietly and {automagically} be transferred to    the
  5978. statement following the `COME FROM'.  `COME FROM'    was first proposed
  5979. in R. Lawrence Clark's "A Linguistic    Contribution to GOTO-less
  5980. programming", which appeared in a 1973    {Datamation} issue (and was
  5981. reprinted in the April 1984 issue of    "Communications of the ACM").
  5982. This parodied the then-raging    `structured programming' {holy wars}
  5983. (see {considered    harmful}).  Mythically, some variants are the
  5984. `assigned COME    FROM' and the `computed COME FROM' (parodying some
  5985. nasty control    constructs in FORTRAN and some extended BASICs).  Of
  5986. course,    multi-tasking (or non-determinism) could be implemented by
  5987. having    more than one `COME FROM' statement coming from the same
  5988. label.
  5989.  
  5990.    In some ways the FORTRAN `DO' looks like a `COME FROM'    statement.
  5991. After the terminating statement number/`CONTINUE'    is reached,
  5992. control continues at the statement following the DO.     Some generous
  5993. FORTRANs would allow arbitrary statements (other than    `CONTINUE')
  5994. for the statement, leading to examples like:
  5995.  
  5996.            DO 10 I=1,LIMIT
  5997.      C imagine many lines of code here, leaving the
  5998.      C original DO statement lost in the spaghetti...
  5999.            WRITE(6,10) I,FROB(I)
  6000.       10   FORMAT(1X,I5,G10.4)
  6001.  
  6002. in which the trapdoor is just after the statement labeled 10.     (This
  6003. is particularly surprising because the label doesn't appear    to have
  6004. anything to do with the flow of control at all!)
  6005.  
  6006.    While sufficiently astonishing to the unsuspecting reader, this
  6007. form of `COME FROM' statement isn't completely general.  After    all,
  6008. control will eventually pass to the following statement.  The
  6009. implementation of the general form was left to Univac FORTRAN,    ca.
  6010. 1975 (though a roughly similar feature existed on the IBM 7040    ten
  6011. years earlier).  The statement `AT 100' would perform a    `COME FROM
  6012. 100'.  It was intended strictly as a debugging aid,    with dire
  6013. consequences promised to anyone so deranged as to use it    in
  6014. production code.  More horrible things had already been    perpetrated
  6015. in production languages, however; doubters need only    contemplate the
  6016. `ALTER' verb in {COBOL}.
  6017.  
  6018.    `COME FROM' was supported under its own name for the first    time
  6019. 15 years later, in C-INTERCAL (see {INTERCAL},    {retrocomputing});
  6020. knowledgeable observers are still reeling    from the shock.
  6021.  
  6022.    :comm mode: /kom mohd/ n.  [ITS: from the feature supporting
  6023. on-line chat; the term may spelled with one or two m's] Syn. for
  6024. {talk mode}.
  6025.  
  6026.    :command key: n.  [Mac users] Syn. {feature key}.
  6027.  
  6028.    :comment out: vt.  To surround a section of code with comment
  6029. delimiters or to prefix every line in the section with a comment
  6030. marker; this prevents it from being compiled or interpreted.  Often
  6031. done when the code is redundant or obsolete, but is being left in
  6032. the source to make the intent of the active code clearer; also when
  6033. the code in that section is broken and you want to bypass it in
  6034. order to debug some other part of the code.  Compare {condition
  6035. out}, usually the preferred technique in languages (such as {C})
  6036. that make it possible.
  6037.  
  6038.    :Commonwealth Hackish:: n.  Hacker jargon as spoken in    English
  6039. outside the U.S., esp. in the British Commonwealth.  It    is reported
  6040. that Commonwealth speakers are more likely to pronounce    truncations
  6041. like `char' and `soc', etc., as spelled (/char/,    /sok/), as opposed
  6042. to American /keir/ and /sohsh/.  Dots in    {newsgroup} names
  6043. (especially two-component names) tend to be    pronounced more often
  6044. (so soc.wibble is /sok dot wib'l/ rather    than /sohsh wib'l/).  The
  6045. prefix {meta} may be pronounced    /mee't*/; similarly, Greek letter
  6046. beta is usually /bee't*/,    zeta is usually /zee't*/, and so forth.
  6047. Preferred    {metasyntactic variable}s include {blurgle}, `eek',
  6048. `ook', `frodo', and `bilbo'; {wibble},    `wobble', and in emergencies
  6049. `wubble'; `flob',    `banana', `tom', `dick', `harry',    `wombat',
  6050. `frog', {fish}, {womble} and so on and on    (see {foo}, sense 4).
  6051.  
  6052.    Alternatives to verb doubling include suffixes `-o-rama',
  6053. `frenzy' (as in feeding frenzy), and `city' (examples: "barf    city!"
  6054. "hack-o-rama!"  "core dump frenzy!").  Finally, note    that the
  6055. American terms `parens', `brackets', and `braces' for (),    [], and {}
  6056. are uncommon; Commonwealth hackish prefers    `brackets', `square
  6057. brackets', and `curly brackets'.  Also, the    use of `pling' for
  6058. {bang} is common outside the United States.
  6059.  
  6060.    See also {attoparsec}, {calculator}, {chemist},    {console jockey},
  6061. {fish}, {go-faster stripes},    {grunge}, {hakspek}, {heavy metal},
  6062. {leaky heap},    {lord high fixer}, {loose bytes}, {muddie}, {nadger},
  6063.  {noddy}, {psychedelicware}, {plingnet}, {raster    blaster}, {RTBM},
  6064. {seggie}, {spod}, {sun lounge},    {terminal junkie}, {tick-list
  6065. features}, {weeble},    {weasel}, {YABA}, and notes or definitions
  6066. under {Bad    Thing}, {barf}, {bogus}, {bum}, {chase pointers},
  6067. {cosmic rays}, {crippleware}, {crunch}, {dodgy},    {gonk}, {hamster},
  6068. {hardwarily}, {mess-dos},    {nybble}, {proglet}, {root}, {SEX},
  6069. {tweak},    {womble}, and {xyzzy}.
  6070.  
  6071.    :compact: adj.  Of a design, describes the valuable property    that
  6072. it can all be apprehended at once in one's head.  This    generally
  6073. means the thing created from the design can be used with    greater
  6074. facility and fewer errors than an equivalent tool that is    not
  6075. compact.  Compactness does not imply triviality or lack of    power;
  6076. for example, C is compact and FORTRAN is not, but C is more    powerful
  6077. than FORTRAN.  Designs become non-compact through    accreting
  6078. {feature}s and {cruft} that don't merge cleanly    into the overall
  6079. design scheme (thus, some fans of {Classic C}    maintain that ANSI C
  6080. is no longer compact).
  6081.  
  6082.    :compiler jock: n.  See {jock} (sense 2).
  6083.  
  6084.    :compo: n.  [{demoscene}] Finnish-originated slang for
  6085. `competition'. Demo compos are held at a {demoparty}. The usual
  6086. protocol is that several groups make demos for a compo, they are
  6087. shown on a big screen, and then the party participants vote for the
  6088. best one. Prizes (from sponsors and party entrance fees) are    given.
  6089. Standard compo formats include {intro} compos (4k or 64k    demos),
  6090. music compos, graphics compos, quick {demo} compos    (build a demo
  6091. within 4 hours for example), etc.
  6092.  
  6093.    :compress: [Unix] vt.  When used without a qualifier,    generally
  6094. refers to {crunch}ing of a file using a particular C    implementation
  6095. of compression by Joseph M. Orost et al. and widely    circulated via
  6096. {Usenet}; use of {crunch} itself in this sense    is rare among Unix
  6097. hackers.  Specifically, compress is built around    the
  6098. Lempel-Ziv-Welch algorithm as described in "A Technique for    High
  6099. Performance Data Compression", Terry A. Welch, "IEEE    Computer", vol.
  6100. 17, no. 6 (June 1984), pp. 8-19.
  6101.  
  6102.    :Compu$erve: n.  See {CI$}.  Synonyms CompuSpend and    Compu$pend
  6103. are also reported.
  6104.  
  6105.    :computer confetti: n.  Syn. {chad}.  Though this term is    common,
  6106. this use of punched-card chad is not a good idea, as the    pieces are
  6107. stiff and have sharp corners that could injure the eyes.     GLS
  6108. reports that he once attended a wedding at MIT during which he    and a
  6109. few other guests enthusiastically threw chad instead of    rice. The
  6110. groom later grumbled that he and his bride had spent most    of the
  6111. evening trying to get the stuff out of their hair.
  6112.  
  6113.    :computer geek: n.  1. One who eats (computer) bugs for a    living.
  6114. One who fulfills all the dreariest negative stereotypes    about
  6115. hackers: an asocial, malodorous, pasty-faced monomaniac with    all the
  6116. personality of a cheese grater.  Cannot be used by    outsiders without
  6117. implied insult to all hackers; compare    black-on-black vs.
  6118. white-on-black usage of `nigger'.  A computer    geek may be either a
  6119. fundamentally clueless individual or a    proto-hacker in {larval
  6120. stage}.  Also called `turbo nerd',    `turbo geek'.  See also
  6121. {propeller head}, {clustergeeking},    {geek out}, {wannabee},
  6122. {terminal junkie}, {spod},    {weenie}.  2. Some self-described
  6123. computer geeks use this term    in a positive sense and protest sense 1
  6124. (this seems to have    been a post-1990 development).  For one such
  6125. argument, see    `http://samsara.circus.com/~omni/geek.html'. See also
  6126.  {geek code}.
  6127.  
  6128.    :computron: /kom'pyoo-tron`/  n. 1. [common] A notional    unit of
  6129. computing power combining instruction speed and storage    capacity,
  6130. dimensioned roughly in instructions-per-second times
  6131. megabytes-of-main-store times megabytes-of-mass-storage.  "That
  6132. machine can't run GNU Emacs, it doesn't have enough computrons!"
  6133. This usage is usually found in metaphors that treat computing power
  6134. as a fungible commodity good, like a crop yield or diesel
  6135. horsepower.  See {bitty box}, {Get a real computer!},    {toy},
  6136. {crank}.  2. A mythical subatomic particle that bears    the unit
  6137. quantity of computation or information, in much the same    way that an
  6138. electron bears one unit of electric charge (see also    {bogon}).  An
  6139. elaborate pseudo-scientific theory of computrons    has been developed
  6140. based on the physical fact that the molecules in    a solid object move
  6141. more rapidly as it is heated.  It is argued    that an object melts
  6142. because the molecules have lost their    information about where they
  6143. are supposed to be (that is, they have    emitted computrons).  This
  6144. explains why computers get so hot and    require air conditioning; they
  6145. use up computrons.  Conversely, it    should be possible to cool down
  6146. an object by placing it in the path    of a computron beam.  It is
  6147. believed that this may also explain why    machines that work at the
  6148. factory fail in the computer room: the    computrons there have been
  6149. all used up by the other hardware.  (The    popularity of this theory
  6150. probably owes something to the    "Warlock" stories by Larry Niven, the
  6151. best known being    "What Good is a Glass Dagger?", in which magic is
  6152. fueled by    an exhaustible natural resource called `mana'.)
  6153.  
  6154.    :con:  n.  [from SF fandom] A science-fiction convention.  Not
  6155. used of other sorts of conventions, such as professional meetings.
  6156. This term, unlike many others of SF-fan slang, is widely recognized
  6157. even by hackers who aren't {fan}s. "We'd been corresponding on    the
  6158. net for months, then we met face-to-face at a con."
  6159.  
  6160.    :condition out: vt.  To prevent a section of code from being
  6161. compiled by surrounding it with a conditional-compilation directive
  6162. whose condition is always false.  The {canonical} examples of    these
  6163. directives are `#if 0' (or `#ifdef notdef', though    some find the
  6164. latter {bletcherous}) and `#endif' in C.     Compare {comment out}.
  6165.  
  6166.    :condom: n.  1. The protective plastic bag that accompanies
  6167. 3.5-inch microfloppy diskettes.  Rarely, also used of (paper) disk
  6168. envelopes.  Unlike the write protect tab, the condom (when left on)
  6169. not only impedes the practice of {SEX} but has also been shown    to
  6170. have a high failure rate as drive mechanisms attempt to access    the
  6171. disk -- and can even fatally frustrate insertion.  2. The    protective
  6172. cladding on a {light pipe}.  3. `keyboard condom':    A flexible,
  6173. transparent plastic cover for a keyboard, designed to    provide some
  6174. protection against dust and {programming fluid}    without impeding
  6175. typing.  4. `elephant condom': the plastic    shipping bags used inside
  6176. cardboard boxes to protect hardware in    transit.  5. n. obs. A dummy
  6177. directory `/usr/tmp/sh', created    to foil the {Great Worm} by
  6178. exploiting a portability bug in one    of its parts.  So named in the
  6179. title of a comp.risks article by    Gene Spafford during the Worm
  6180. crisis, and again in the text of    "The Internet Worm Program: An
  6181. Analysis", Purdue Technical    Report CSD-TR-823.
  6182.  
  6183.    :confuser: n.  Common soundalike slang for `computer'.     Usually
  6184. encountered in compounds such as `confuser room',    `personal
  6185. confuser', `confuser guru'.  Usage: silly.
  6186.  
  6187.    :connector conspiracy: n.  [probably came into prominence with
  6188. the appearance of the KL-10 (one model of the {PDP-10}), none of
  6189. whose connectors matched anything else] The tendency of
  6190. manufacturers (or, by extension, programmers or purveyors of
  6191. anything) to come up with new products that don't fit together with
  6192. the old stuff, thereby making you buy either all new stuff or
  6193. expensive interface devices.  The KL-10 Massbus connector was
  6194. actually _patented_ by {DEC}, which reputedly refused to    license the
  6195. design and thus effectively locked third parties out of    competition
  6196. for the lucrative Massbus peripherals market.  This    policy is a
  6197. source of never-ending frustration for the diehards who    maintain
  6198. older PDP-10 or VAX systems.  Their CPUs work fine, but    they are
  6199. stuck with dying, obsolescent disk and tape drives with    low capacity
  6200. and high power requirements.
  6201.  
  6202.    (A closely related phenomenon, with a slightly different intent, is
  6203.  the habit manufacturers have of inventing new screw heads so that
  6204. only Designated Persons, possessing the magic screwdrivers, can
  6205. remove covers and make repairs or install options.  A good 1990s
  6206. example is the use of Torx screws for cable-TV set-top boxes.     Older
  6207. Apple Macintoshes took this one step further, requiring not    only a
  6208. long Torx screwdriver but a specialized case-cracking tool    to open
  6209. the box.)
  6210.  
  6211.    In these latter days of open-systems computing this term has fallen
  6212.  somewhat into disuse, to be replaced by the observation that
  6213. "Standards are great!  There are so many of them to choose    from!"
  6214. Compare {backward combatability}.
  6215.  
  6216.    :cons: /konz/ or /kons/  [from LISP] 1. vt. To add a new    element
  6217. to a specified list, esp. at the top.  "OK, cons picking    a
  6218. replacement for the console TTY onto the agenda."  2. `cons    up': vt.
  6219. To synthesize from smaller pieces: "to cons up an    example".
  6220.  
  6221.    In LISP itself, `cons' is the most fundamental operation for
  6222. building structures.  It takes any two objects and returns a
  6223. `dot-pair' or two-branched tree with one object hanging from each
  6224. branch.  Because the result of a cons is an object, it can be used
  6225. to build binary trees of any shape and complexity.  Hackers think    of
  6226. it as a sort of universal constructor, and that is where the    jargon
  6227. meanings spring from.
  6228.  
  6229.    :considered harmful: adj.  [very common] Edsger    W. Dijkstra's
  6230. note in the March 1968 "Communications of the    ACM", "Goto Statement
  6231. Considered Harmful", fired the first    salvo in the structured
  6232. programming wars (text at    `http://www.acm.org/classics').
  6233. Amusingly, the ACM considered    the resulting acrimony sufficiently
  6234. harmful that it will (by    policy) no longer print an article taking
  6235. so assertive a position    against a coding practice. (Years
  6236. afterwards, a contrary view    contrary view was uttered in a CACM
  6237. letter called, inevitably,    "`Goto considered harmful' considered
  6238. harmful'"'.  In the    ensuing decades, a large number of both serious
  6239. papers and parodies    have borne titles of the form "X considered Y".
  6240. The    structured-programming wars eventually blew over with the
  6241. realization that both sides were wrong, but use of such titles has
  6242. remained as a persistent minor in-joke (the `considered silly'    found
  6243. at various places in this lexicon is related).
  6244.  
  6245.    :console:: n.  1. The operator's station of a {mainframe}.     In
  6246. times past, this was a privileged location that conveyed godlike
  6247. powers to anyone with fingers on its keys.  Under Unix and other
  6248. modern timesharing OSes, such privileges are guarded by passwords
  6249. instead, and the console is just the {tty} the system was booted
  6250. from.  Some of the mystique remains, however, and it is traditional
  6251. for sysadmins to post urgent messages to all users from the console
  6252. (on Unix, /dev/console).  2. On microcomputer Unix boxes, the main
  6253. screen and keyboard (as opposed to character-only terminals talking
  6254. to a serial port).  Typically only the console can do real graphics
  6255. or run {X}.
  6256.  
  6257.    :console jockey: n.  See {terminal junkie}.
  6258.  
  6259.    :content-free: adj.  [by analogy with techspeak    `context-free']
  6260. Used of a message that adds nothing to the    recipient's knowledge.
  6261. Though this adjective is sometimes applied    to {flamage}, it more
  6262. usually connotes derision for    communication styles that exalt form
  6263. over substance or are centered    on concerns irrelevant to the subject
  6264. ostensibly at hand.  Perhaps    most used with reference to speeches by
  6265. company presidents and    other professional manipulators.
  6266. "Content-free?  Uh... that's    anything printed on glossy paper."
  6267. (See also {four-color    glossies}.)  "He gave a talk on the
  6268. implications of electronic    networks for postmodernism and the
  6269. fin-de-siecle aesthetic.  It was    content-free."
  6270.  
  6271.    :control-C: vi.  1. "Stop whatever you are doing."  From the
  6272. interrupt character used on many operating systems to abort a
  6273. running program.  Considered silly.  2. interj. Among BSD Unix
  6274. hackers, the canonical humorous response to "Give me a break!"
  6275.  
  6276.    :control-O: vi.  "Stop talking."  From the character used on    some
  6277. operating systems to abort output but allow the program to    keep on
  6278. running.  Generally means that you are not interested in    hearing
  6279. anything more from that person, at least on that topic; a    standard
  6280. response to someone who is flaming.  Considered silly.     Compare
  6281. {control-S}.
  6282.  
  6283.    :control-Q: vi.  "Resume."  From the ASCII DC1 or {XON}    character
  6284. (the pronunciation /X-on/ is therefore also used), used    to undo a
  6285. previous {control-S}.
  6286.  
  6287.    :control-S: vi.  "Stop talking for a second."  From the    ASCII DC3
  6288. or XOFF character (the pronunciation /X-of/ is    therefore also used).
  6289. Control-S differs from {control-O} in    that the person is asked to
  6290. stop talking (perhaps because you are    on the phone) but will be
  6291. allowed to continue when you're ready to    listen to him -- as opposed
  6292. to control-O, which has more of the    meaning of "Shut up."
  6293. Considered silly.
  6294.  
  6295.    :Conway's Law: prov.  The rule that the organization of    the
  6296. software and the organization of the software team will be
  6297. congruent; commonly stated as "If you have four groups working on    a
  6298. compiler, you'll get a 4-pass compiler".  The original statement    was
  6299. more general, "Organizations which design systems are    constrained to
  6300. produce designs which are copies of the    communication structures of
  6301. these organizations."  This first    appeared in the April 1968 issue
  6302. of {Datamation}. Compare    {SNAFU principle}.
  6303.  
  6304.    The law was named after Melvin Conway, an early proto-hacker who
  6305. wrote an assembler for the Burroughs 220 called SAVE.  (The name
  6306. `SAVE' didn't stand for anything; it was just that you lost fewer
  6307. card decks and listings because they all had SAVE written on them.)
  6308.  
  6309.    There is also Tom Cheatham's amendment of Conway's Law:    "If a
  6310. group of N persons implements a COBOL compiler, there will be    N-1
  6311. passes.  Someone in the group has to be the manager."
  6312.  
  6313.    :cookbook: n.  [from amateur electronics and radio] A book of small
  6314.  code segments that the reader can use to do various {magic}    things
  6315. in programs.  One current example is the    "{{PostScript}} Language
  6316. Tutorial and Cookbook" by Adobe    Systems, Inc (Addison-Wesley, ISBN
  6317. 0-201-10179-3), also known as    the {Blue Book} which has recipes for
  6318. things like wrapping text    around arbitrary curves and making 3D
  6319. fonts.  Cookbooks, slavishly    followed, can lead one into {voodoo
  6320. programming}, but are useful    for hackers trying to {monkey up} small
  6321. programs in unknown    languages.  This function is analogous to the
  6322. role of phrasebooks    in human languages.
  6323.  
  6324.    :cooked mode: n.  [Unix, by opposition from {raw mode}] The
  6325. normal character-input mode, with interrupts enabled and with    erase,
  6326. kill and other special-character interpretations performed    directly
  6327. by the tty driver.  Oppose {raw mode}, {rare mode}.     This term is
  6328. techspeak under Unix but jargon elsewhere; other    operating systems
  6329. often have similar mode distinctions, and the    raw/rare/cooked way of
  6330. describing them has spread widely along with    the C language and
  6331. other Unix exports.  Most generally, `cooked    mode' may refer to any
  6332. mode of a system that does extensive    preprocessing before presenting
  6333. data to a program.
  6334.  
  6335.    :cookie: n.  A handle, transaction ID, or other token of
  6336. agreement between cooperating programs.  "I give him a packet, he
  6337. gives me back a cookie."  The claim check you get from a
  6338. dry-cleaning shop is a perfect mundane example of a cookie; the    only
  6339. thing it's useful for is to relate a later transaction to this    one
  6340. (so you get the same clothes back).  Compare {magic cookie};    see
  6341. also {fortune cookie}.  Now mainstream in the specific sense    of
  6342. web-browser cookies.
  6343.  
  6344.    :cookie bear: n. obs.  Original term, pre-Sesame-Street, for    what
  6345. is now universally called a {cookie monster}. A    correspondent
  6346. observes "In those days, hackers were actually    getting their yucks
  6347. from...sit down now...Andy Williams.     Yes, _that_ Andy Williams.
  6348. Seems he had a rather hip (by the    standards of the day) TV variety
  6349. show. One of the best parts of the    show was the recurring `cookie
  6350. bear' sketch. In these sketches, a    guy in a bear suit tried all
  6351. sorts of tricks to get a cookie out of    Williams. The sketches would
  6352. always end with Williams shrieking    (and I don't mean figuratively),
  6353. `No cookies! Not now, not    ever...NEVER!!!' And the bear would fall
  6354. down.  Great stuff."
  6355.  
  6356.    :cookie file: n.  A collection of {fortune cookie}s in a    format
  6357. that facilitates retrieval by a fortune program.  There are    several
  6358. different cookie files in public distribution, and site    admins often
  6359. assemble their own from various sources including this    lexicon.
  6360.  
  6361.    :cookie jar: n.  An area of memory set aside for storing
  6362. {cookie}s.  Most commonly heard in the Atari ST community; many
  6363. useful ST programs record their presence by storing a distinctive
  6364. {magic number} in the jar.  Programs can inquire after the    presence
  6365. or otherwise of other programs by searching the contents    of the jar.
  6366.  
  6367.    :cookie monster: n.  [from the children's TV program    "Sesame
  6368. Street"] Any of a family of early (1970s) hacks    reported on
  6369. {{TOPS-10}}, {{ITS}}, {{Multics}}, and elsewhere    that would lock up
  6370. either the victim's terminal (on a time-sharing    machine) or the
  6371. {{console}} (on a batch {mainframe}),    repeatedly demanding "I WANT A
  6372. COOKIE".  The required responses    ranged in complexity from "COOKIE"
  6373. through "HAVE A COOKIE" and    upward.  Folklorist Jan Brunvand (see
  6374. {FOAF}) has described    these programs as urban legends (implying they
  6375. probably never    existed) but they existed, all right, in several
  6376. different    versions.  See also {wabbit}.  Interestingly, the term
  6377. `cookie    monster' appears to be a {retcon}; the original term was
  6378. {cookie bear}.
  6379.  
  6380.    :copious free time: n.  [Apple; orig. fr. the intro to Tom
  6381. Lehrer's song "It Makes A Fellow Proud To Be A Soldier"]    1. [used
  6382. ironically to indicate the speaker's lack of the quantity    in
  6383. question] A mythical schedule slot for accomplishing tasks held    to
  6384. be unlikely or impossible.  Sometimes used to indicate that the
  6385. speaker is interested in accomplishing the task, but believes that
  6386. the opportunity will not arise.  "I'll implement the automatic
  6387. layout stuff in my copious free time."  2. [Archly] Time reserved
  6388. for bogus or otherwise idiotic tasks, such as implementation of
  6389. {chrome}, or the stroking of {suit}s.  "I'll get back to him    on that
  6390. feature in my copious free time."
  6391.  
  6392.    :copper: n.  Conventional electron-carrying network cable with    a
  6393. core conductor of copper -- or aluminum!  Opposed to {light    pipe}
  6394. or, say, a short-range microwave link.
  6395.  
  6396.    :copy protection: n.  A class of methods for preventing
  6397. incompetent pirates from stealing software and legitimate customers
  6398. from using it.  Considered silly.
  6399.  
  6400.    :copybroke: /kop'ee-brohk/ adj.  1. [play on `copyright']    Used to
  6401. describe an instance of a copy-protected program that has    been
  6402. `broken'; that is, a copy with the copy-protection scheme    disabled.
  6403. Syn.  {copywronged}.  2. Copy-protected software    which is unusable
  6404. because of some bit-rot or bug that has confused    the anti-piracy
  6405. check.  See also {copy protection}.
  6406.  
  6407.    :copyleft: /kop'ee-left/ n.  [play on `copyright'] 1. The
  6408. copyright notice (`General Public License') carried by {GNU}    {EMACS}
  6409. and other Free Software Foundation software, granting reuse    and
  6410. reproduction rights to all comers (but see also {General    Public
  6411. Virus}).  2. By extension, any copyright notice intended to    achieve
  6412. similar aims.
  6413.  
  6414.    :copyparty: n.  [C64/amiga {demoscene} ]A computer    party
  6415. organized so demosceners can meet other in real life, and to
  6416. facilitate software copying (mostly pirated software).  The
  6417. copyparty has become less common as the Internet makes    communication
  6418. easier.  The demoscene has gradually evolved the    {demoparty} to
  6419. replace it.
  6420.  
  6421.    :copywronged: /kop'ee-rongd/ adj.  [play on `copyright']    Syn. for
  6422. {copybroke}.
  6423.  
  6424.    :core: n.  Main storage or RAM.  Dates from the days of
  6425. ferrite-core memory; now archaic as techspeak most places outside
  6426. IBM, but also still used in the Unix community and by old-time
  6427. hackers or those who would sound like them.  Some derived idioms    are
  6428. quite current; `in core', for example, means `in memory'    (as opposed
  6429. to `on disk'), and both {core dump} and the `core    image' or `core
  6430. file' produced by one are terms in favor.  Some    varieties of
  6431. Commonwealth hackish prefer {store}.
  6432.  
  6433.    :core cancer: n.  [rare] A process that exhibits a slow    but
  6434. inexorable resource {leak} -- like a cancer, it kills by    crowding
  6435. out productive `tissue'.
  6436.  
  6437.    :core dump: n.  [common {Iron Age} jargon, preserved by    Unix] 1.
  6438. [techspeak] A copy of the contents of {core}, produced    when a
  6439. process is aborted by certain kinds of internal error.     2. By
  6440. extension, used for humans passing out, vomiting, or    registering
  6441. extreme shock.  "He dumped core.  All over the floor.     What a mess."
  6442. "He heard about X and dumped core."     3. Occasionally used for a
  6443. human rambling on pointlessly at great    length; esp. in apology:
  6444. "Sorry, I dumped core on you".  4. A    recapitulation of knowledge
  6445. (compare {bits}, sense 1).  Hence,    spewing all one knows about a
  6446. topic (syn. {brain dump}), esp.     in a lecture or answer to an exam
  6447. question.  "Short, concise    answers are better than core dumps" (from
  6448. the instructions to an    exam at Columbia).  See {core}.
  6449.  
  6450.    :core leak: n.  Syn. {memory leak}.
  6451.  
  6452.    :Core Wars: n.  A game between `assembler' programs in    a machine
  6453. or machine simulator, where the objective is to kill your    opponent's
  6454. program by overwriting it.  Popularized in the 1980s by    A. K.
  6455. Dewdney's column in "Scientific American" magazine, but    described in
  6456. "Software Practice And Experience" a decade    earlier.  The game was
  6457. actually devised and played by Victor    Vyssotsky, Robert Morris Sr.,
  6458. and Doug McIlroy in the early 1960s    (Dennis Ritchie is sometimes
  6459. incorrectly cited as a co-author, but    was not involved).  Their
  6460. original game was called `Darwin' and ran    on a IBM 7090 at Bell
  6461. Labs.  See {core}.  For information on the    modern game, do a web
  6462. search for the `rec.games.corewar    FAQ'.
  6463.  
  6464.    :corge: /korj/ n.  [originally, the name of a cat] Yet    another
  6465. {metasyntactic variable}, invented by Mike Gallaher and    propagated
  6466. by the {GOSMACS} documentation.  See {grault}.
  6467.  
  6468.    :cosmic rays: n.  Notionally, the cause of {bit rot}.     However,
  6469. this is a semi-independent usage that may be invoked as a    humorous
  6470. way to {handwave} away any minor {randomness} that    doesn't seem
  6471. worth the bother of investigating.  "Hey, Eric -- I    just got a burst
  6472. of garbage on my {tube}, where did that come    from?"  "Cosmic rays, I
  6473. guess."  Compare {sunspots},    {phase of the moon}.  The British seem
  6474. to prefer the usage    `cosmic showers'; `alpha particles' is also
  6475. heard, because    stray alpha particles passing through a memory chip
  6476. can cause    single-bit errors (this becomes increasingly more likely
  6477. as memory    sizes and densities increase).
  6478.  
  6479.    Factual note: Alpha particles cause bit rot, cosmic rays do not
  6480. (except occasionally in spaceborne computers).  Intel could not
  6481. explain random bit drops in their early chips, and one hypothesis
  6482. was cosmic rays.  So they created the World's Largest Lead Safe,
  6483. using 25 tons of the stuff, and used two identical boards for
  6484. testing.  One was placed in the safe, one outside.  The hypothesis
  6485. was that if cosmic rays were causing the bit drops, they should see
  6486. a statistically significant difference between the error rates on
  6487. the two boards.  They did not observe such a difference.  Further
  6488. investigation demonstrated conclusively that the bit drops were due
  6489. to alpha particle emissions from thorium (and to a much lesser
  6490. degree uranium) in the encapsulation material.  Since it is
  6491. impossible to eliminate these radioactives (they are uniformly
  6492. distributed through the earth's crust, with the statistically
  6493. insignificant exception of uranium lodes) it became obvious that    one
  6494. has to design memories to withstand these hits.
  6495.  
  6496.    :cough and die: v.  Syn. {barf}.  Connotes that the program    is
  6497. throwing its hands up by design rather than because of a bug or
  6498. oversight.  "The parser saw a control-A in its input where it was
  6499. looking for a printable, so it coughed and died."  Compare    {die},
  6500. {die horribly}, {scream and die}.
  6501.  
  6502.    :cow orker: n.  [Usenet] n. fortuitous typo for co-worker,    widely
  6503. used in Usenet, with perhaps a hint that orking cows is    illegal.
  6504. Some people believe this was coined by Scott Adams, the    creator of
  6505. {Dilbert}. Compare {hing}, {grilf}, {filk},    {newsfroup}.
  6506.  
  6507.    :cowboy: n.  [Sun, from William Gibson's {cyberpunk} SF]    Synonym
  6508. for {hacker}.  It is reported that at Sun this word is    often said
  6509. with reverence.
  6510.  
  6511.    :CP/M:: /C-P-M/ n.  [Control Program/Monitor; later    {retcon}ned
  6512. to Control Program for Microcomputers] An early    microcomputer {OS}
  6513. written by hacker Gary Kildall for 8080- and    Z80-based machines,
  6514. very popular in the late 1970s but virtually    wiped out by MS-DOS
  6515. after the release of the IBM PC in 1981.     Legend has it that
  6516. Kildall's company blew its chance to write the    OS for the IBM PC
  6517. because Kildall decided to spend a day IBM's reps    wanted to meet
  6518. with him enjoying the perfect flying weather in his    private plane.
  6519. Many of CP/M's features and conventions strongly    resemble those of
  6520. early {DEC} operating systems such as    {{TOPS-10}}, OS/8, RSTS, and
  6521. RSX-11.  See {{MS-DOS}},    {operating system}.
  6522.  
  6523.    :CPU Wars: /C-P-U worz/ n.  A 1979 large-format comic by    Chas
  6524. Andres chronicling the attempts of the brainwashed androids of    IPM
  6525. (Impossible to Program Machines) to conquer and destroy the    peaceful
  6526. denizens of HEC (Human Engineered Computers).  This rather
  6527. transparent allegory featured many references to {ADVENT} and    the
  6528. immortal line "Eat flaming death, minicomputer mongrels!"     (uttered,
  6529. of course, by an IPM stormtrooper).  The whole shebang    is now
  6530. available on the Web (http://www.e-pix.com/CPUWARS/cpuwars.html).
  6531.  
  6532.    It is alleged that the author subsequently received a letter of
  6533. appreciation on IBM company stationery from the head of IBM's    Thomas
  6534. J. Watson Research Laboratories (then, as now, one of the    few
  6535. islands of true hackerdom in the IBM archipelago).  The lower    loop
  6536. of the B in the IBM logo, it is said, had been carefully    whited out.
  6537. See {eat flaming death}.
  6538.  
  6539.    :crack root: v.  [very common] To defeat the security    system of a
  6540. Unix machine and gain {root} privileges thereby; see    {cracking}.
  6541.  
  6542.    :cracker: n.  One who breaks security on a system.  Coined    ca.
  6543. 1985 by hackers in defense against journalistic misuse of    {hacker}
  6544. (q.v., sense 8).  An earlier attempt to establish    `worm' in this
  6545. sense around 1981-82 on Usenet was largely a    failure.
  6546.  
  6547.    Use of both these neologisms reflects a strong revulsion against
  6548. the theft and vandalism perpetrated by cracking rings.  While it is
  6549. expected that any real hacker will have done some playful cracking
  6550. and knows many of the basic techniques, anyone past {larval    stage}
  6551. is expected to have outgrown the desire to do so except for
  6552. immediate, benign, practical reasons (for example, if it's    necessary
  6553. to get around some security in order to get some work    done).
  6554.  
  6555.    Thus, there is far less overlap between hackerdom and crackerdom
  6556. than the {mundane} reader misled by sensationalistic journalism
  6557. might expect.  Crackers tend to gather in small, tight-knit, very
  6558. secretive groups that have little overlap with the huge, open
  6559. poly-culture this lexicon describes; though crackers often like to
  6560. describe _themselves_ as hackers, most true hackers consider    them a
  6561. separate and lower form of life.
  6562.  
  6563.    Ethical considerations aside, hackers figure that anyone who can't
  6564. imagine a more interesting way to play with their computers than
  6565. breaking into someone else's has to be pretty {losing}.  Some    other
  6566. reasons crackers are looked down on are discussed in the    entries on
  6567. {cracking} and {phreaking}.  See also    {samurai}, {dark-side hacker},
  6568. and {hacker ethic}.  For a    portrait of the typical teenage cracker,
  6569. see {warez    d00dz}.
  6570.  
  6571.    :cracking: n.  [very common] The act of breaking into a    computer
  6572. system; what a {cracker} does.  Contrary to widespread    myth, this
  6573. does not usually involve some mysterious leap of    hackerly
  6574. brilliance, but rather persistence and the dogged    repetition of a
  6575. handful of fairly well-known tricks that exploit    common weaknesses
  6576. in the security of target systems.  Accordingly,    most crackers are
  6577. only mediocre hackers.
  6578.  
  6579.    :crank: vt.  [from automotive slang] Verb used to describe the
  6580. performance of a machine, especially sustained performance.  "This
  6581. box cranks (or, cranks at) about 6 megaflops, with a burst mode of
  6582. twice that on vectorized operations."
  6583.  
  6584.    :crapplet: n.  [portmanteau, crap + applet] A worthless    applet,
  6585. esp. a Java widget attached to a web page that doesn't    work or even
  6586. crashes your browser.
  6587.  
  6588.    :CrApTeX: /krap'tekh/ n.  [University of York, England] Term    of
  6589. abuse used to describe TeX and LaTeX when they don't work (when    used
  6590. by TeXhackers), or all the time (by everyone else).  The
  6591. non-TeX-enthusiasts generally dislike it because it is more verbose
  6592. than other formatters (e.g. {{troff}}) and because (particularly    if
  6593. the standard Computer Modern fonts are used) it generates vast
  6594. output files.  See {religious issues}, {{TeX}}.
  6595.  
  6596.    :crash:  1. n. A sudden, usually drastic failure.  Most often
  6597. said of the {system} (q.v., sense 1), esp. of magnetic disk    drives
  6598. (the term originally described what happens when the air    gap of a
  6599. hard disk collapses).  "Three {luser}s lost their    files in last
  6600. night's disk crash."  A disk crash that involves the    read/write
  6601. heads dropping onto the surface of the disks and    scraping off the
  6602. oxide may also be referred to as a `head crash',    whereas the term
  6603. `system crash' usually, though not always,    implies that the
  6604. operating system or other software was at fault.     2. v. To fail
  6605. suddenly.  "Has the system just crashed?"     "Something crashed the
  6606. OS!" See {down}.  Also used    transitively to indicate the cause of
  6607. the crash (usually a person    or a program, or both).  "Those idiots
  6608. playing {SPACEWAR}    crashed the system." 3. vi.  Sometimes said of
  6609. people hitting the    sack after a long {hacking run}; see {gronk out}.
  6610.  
  6611.    :crash and burn: vi.,n.  A spectacular crash, in the mode of    the
  6612. conclusion of the car-chase scene in the movie "Bullitt"    and many
  6613. subsequent imitators (compare {die horribly}).  Sun-3    monitors
  6614. losing the flyback transformer and lightning strikes on    VAX-11/780
  6615. backplanes are notable crash and burn generators.  The    construction
  6616. `crash-and-burn machine' is reported for a computer    used exclusively
  6617. for alpha or {beta} testing, or reproducing    bugs (i.e., not for
  6618. development).  The implication is that it    wouldn't be such a
  6619. disaster if that machine crashed, since only the    testers would be
  6620. inconvenienced.
  6621.  
  6622.    :crawling horror: n.  Ancient crufty hardware or software that    is
  6623. kept obstinately alive by forces beyond the control of the    hackers
  6624. at a site.  Like {dusty deck} or {gonkulator}, but    connotes that the
  6625. thing described is not just an irritation but an    active menace to
  6626. health and sanity.  "Mostly we code new stuff in    C, but they pay us
  6627. to maintain one big FORTRAN II application from    nineteen-sixty-X
  6628. that's a real crawling horror...." Compare    {WOMBAT}.
  6629.  
  6630.    :cray: /kray/ n.  1. (properly, capitalized) One of the line    of
  6631. supercomputers designed by Cray Research.  2. Any supercomputer    at
  6632. all.  3. The {canonical} {number-crunching} machine.
  6633.  
  6634.    The term is actually the lowercased last name of Seymour Cray, a
  6635. noted computer architect and co-founder of the company.  Numerous
  6636. vivid legends surround him, some true and some admittedly invented
  6637. by Cray Research brass to shape their corporate culture and image.
  6638.  
  6639.    :cray instability: n.  1. A shortcoming of a program or    algorithm
  6640. that manifests itself only when a large problem is being    run on a
  6641. powerful machine (see {cray}).  Generally more subtle    than bugs that
  6642. can be detected in smaller problems running on a    workstation or
  6643. mini.  2. More specifically, a shortcoming of    algorithms which are
  6644. well behaved when run on gentle floating point    hardware (such as
  6645. IEEE-standard or PDP-series machines) but which    break down badly
  6646. when exposed to a Cray's unique `rounding'    rules.
  6647.  
  6648.    :crayola: /kray-oh'l*/ n.  A super-mini or -micro computer    that
  6649. provides some reasonable percentage of supercomputer    performance for
  6650. an unreasonably low price.  Might also be a    {killer micro}.
  6651.  
  6652.    :crayola books: n.  The {rainbow series} of National    Computer
  6653. Security Center (NCSC) computer security standards (see    {Orange
  6654. Book}).  Usage: humorous and/or disparaging.
  6655.  
  6656.    :crayon: n.  1. Someone who works on Cray supercomputers.     More
  6657. specifically, it implies a programmer, probably of the CDC    ilk,
  6658. probably male, and almost certainly wearing a tie    (irrespective of
  6659. gender).  Systems types who have a Unix background    tend not to be
  6660. described as crayons.  2. A {computron} (sense 2)    that participates
  6661. only in {number-crunching}.  3. A unit of    computational power equal
  6662. to that of a single Cray-1.  There is a    standard joke about this
  6663. usage that derives from an old Crayola    crayon promotional gimmick:
  6664. When you buy 64 crayons you get a free    sharpener.
  6665.  
  6666.    :creationism: n.  The (false) belief that large, innovative
  6667. software designs can be completely specified in advance and then
  6668. painlessly magicked out of the void by the normal efforts of a team
  6669. of normally talented programmers.  In fact, experience has shown
  6670. repeatedly that good designs arise only from evolutionary,
  6671. exploratory interaction between one (or at most a small handful of)
  6672. exceptionally able designer(s) and an active user population --    and
  6673. that the first try at a big new idea is always wrong.
  6674. Unfortunately, because these truths don't fit the planning models
  6675. beloved of {management}, they are generally ignored.
  6676.  
  6677.    :creep: v.  To advance, grow, or multiply inexorably.  In    hackish
  6678. usage this verb has overtones of menace and silliness,    evoking the
  6679. creeping horrors of low-budget monster movies.
  6680.  
  6681.    :creeping elegance: n.  Describes a tendency for parts of a
  6682. design to become {elegant} past the point of diminishing return,
  6683. something which often happens at the expense of the less    interesting
  6684. parts of the design, the schedule, and other things    deemed important
  6685. in the {Real World}.  See also {creeping    featurism}, {second-system
  6686. effect}, {tense}.
  6687.  
  6688.    :creeping featurism: /kree'ping fee'chr-izm/ n.     [common] 1.
  6689. Describes a systematic tendency to load more    {chrome} and {feature}s
  6690. onto systems at the expense of    whatever elegance they may have
  6691. possessed when originally designed.     See also {feeping creaturism}.
  6692. "You know, the main problem    with {BSD} Unix has always been creeping
  6693. featurism."  2. More    generally, the tendency for anything
  6694. complicated to become even    more complicated because people keep
  6695. saying "Gee, it would be even    better if it had this feature too".
  6696. (See {feature}.)  The    result is usually a patchwork because it grew
  6697. one ad-hoc step at a    time, rather than being planned.  Planning is a
  6698. lot of work, but    it's easy to add just one extra little feature to
  6699. help someone    ... and then another ... and another.... When
  6700. creeping featurism gets out of hand, it's like a cancer.  Usually
  6701. this term is used to describe computer programs, but it could also
  6702. be said of the federal government, the IRS 1040 form, and new cars.
  6703. A similar phenomenon sometimes afflicts conscious redesigns; see
  6704. {second-system effect}.  See also {creeping elegance}.
  6705.  
  6706.    :creeping featuritis: /kree'ping fee'-chr-i:`t*s/ n.     Variant of
  6707. {creeping featurism}, with its own spoonerization:    `feeping
  6708. creaturitis'.  Some people like to reserve this form for    the disease
  6709. as it actually manifests in software or hardware, as    opposed to the
  6710. lurking general tendency in designers' minds.     (After all, -ism
  6711. means `condition' or `pursuit of', whereas    -itis usually means
  6712. `inflammation of'.)
  6713.  
  6714.    :cretin: /kret'in/ or /kree'tn/ n.  Congenital {loser};    an
  6715. obnoxious person; someone who can't do anything right.  It has    been
  6716. observed that many American hackers tend to favor the British
  6717. pronunciation /kret'in/ over standard American /kree'tn/; it is
  6718. thought this may be due to the insidious phonetic influence of    Monty
  6719. Python's Flying Circus.
  6720.  
  6721.    :cretinous: /kret'n-*s/ or /kreet'n-*s/ adj.  Wrong;    stupid;
  6722. non-functional; very poorly designed.  Also used    pejoratively of
  6723. people.  See {dread high-bit disease} for an    example.  Approximate
  6724. synonyms: {bletcherous}, {bagbiting}    {losing}, {brain-damaged}.
  6725.  
  6726.    :crippleware: n.  1. [common] Software that has some important
  6727. functionality deliberately removed, so as to entice potential users
  6728. to pay for a working version.  2. [Cambridge] Variety of    {guiltware}
  6729. that exhorts you to donate to some charity (compare    {careware},
  6730. {nagware}).  3. Hardware deliberately crippled,    which can be
  6731. upgraded to a more expensive model by a trivial change    (e.g.,
  6732. cutting a jumper).
  6733.  
  6734.    An excellent example of crippleware (sense 3) is Intel's 486SX
  6735. chip, which is a standard 486DX chip with the co-processor dyked    out
  6736. (in some early versions it was present but disabled).  To    upgrade,
  6737. you buy a complete 486DX chip with _working_    co-processor (its
  6738. identity thinly veiled by a different pinout) and    plug it into the
  6739. board's expansion socket.  It then disables the    SX, which becomes a
  6740. fancy power sink.  Don't you love Intel?
  6741.  
  6742.    :critical mass: n.  In physics, the minimum amount of    fissionable
  6743. material required to sustain a chain reaction.  Of a    software
  6744. product, describes a condition of the software such that    fixing one
  6745. bug introduces one plus {epsilon} bugs.  (This malady    has many
  6746. causes: {creeping featurism}, ports to too many    disparate
  6747. environments, poor initial design, etc.)  When software    achieves
  6748. critical mass, it can never be fixed; it can only be    discarded and
  6749. rewritten.
  6750.  
  6751.    :crlf: /ker'l*f/, sometimes /kru'l*f/ or /C-R-L-F/ n.     (often
  6752. capitalized as `CRLF') A carriage return (CR, ASCII 0001101)
  6753. followed by a line feed (LF, ASCII 0001010).  More loosely,    whatever
  6754. it takes to get you from the end of one line of text to    the
  6755. beginning of the next line.  See {newline}, {terpri}.     Under
  6756. {{Unix}} influence this usage has become less common (Unix    uses a
  6757. bare line feed as its `CRLF').
  6758.  
  6759.    :crock: n.  [from the American scatologism `crock of    shit'] 1. An
  6760. awkward feature or programming technique that ought to    be made
  6761. cleaner.  For example, using small integers to represent    error codes
  6762. without the program interpreting them to the user (as    in, for
  6763. example, Unix `make(1)', which returns code 139 for a    process that
  6764. dies due to {segfault}).  2. A technique that works    acceptably, but
  6765. which is quite prone to failure if disturbed in the    least.  For
  6766. example, a too-clever programmer might write an    assembler which
  6767. mapped instruction mnemonics to numeric opcodes    algorithmically, a
  6768. trick which depends far too intimately on the    particular bit
  6769. patterns of the opcodes.  (For another example of    programming with a
  6770. dependence on actual opcode values, see    {The Story of Mel} in
  6771. Appendix A.)  Many crocks have a tightly    woven, almost completely
  6772. unmodifiable structure.  See {kluge},    {brittle}.  The adjectives
  6773. `crockish' and `crocky', and the    nouns `crockishness' and
  6774. `crockitude', are also used.
  6775.  
  6776.    :cross-post: vi.  [Usenet; very common] To post a single    article
  6777. simultaneously to several newsgroups.  Distinguished from    posting
  6778. the article repeatedly, once to each newsgroup, which    causes people
  6779. to see it multiple times (which is very bad form).     Gratuitous
  6780. cross-posting without a Followup-To line directing    responses to a
  6781. single followup group is frowned upon, as it tends    to cause
  6782. {followup} articles to go to inappropriate newsgroups    when people
  6783. respond to only one part of the original posting.
  6784.  
  6785.    :crudware: /kruhd'weir/ n.  Pejorative term for the hundreds    of
  6786. megabytes of low-quality {freeware} circulated by user's    groups and
  6787. BBS systems in the micro-hobbyist world.  "Yet    _another_ set of disk
  6788. catalog utilities for {{MS-DOS}}?     What crudware!"
  6789.  
  6790.    :cruft: /kruhft/  [very common; back-formation from {crufty}] 1. n.
  6791. An    unpleasant substance.  The dust that gathers under your bed is
  6792. cruft; the TMRC Dictionary correctly noted that attacking it with a
  6793. broom only produces more.  2. n. The results of shoddy    construction.
  6794. 3. vt. [from `hand cruft', pun on `hand craft']    To write assembler
  6795. code for something normally (and better) done by    a compiler (see
  6796. {hand-hacking}).  4. n. Excess; superfluous    junk; used esp. of
  6797. redundant or superseded code.  5. [University    of Wisconsin] n. Cruft
  6798. is to hackers as gaggle is to geese; that    is, at UW one properly
  6799. says "a cruft of hackers".
  6800.  
  6801.    :cruft together: vt.  (also `cruft up') To throw together
  6802. something ugly but temporarily workable.  Like vt. {kluge up},    but
  6803. more pejorative.  "There isn't any program now to reverse all    the
  6804. lines of a file, but I can probably cruft one together in about    10
  6805. minutes."  See {hack together}, {hack up}, {kluge up},    {crufty}.
  6806.  
  6807.    :cruftsmanship: /kruhfts'm*n-ship / n.  [from {cruft}]    The
  6808. antithesis of craftsmanship.
  6809.  
  6810.    :crufty: /kruhf'tee/ adj.  [very common; origin unknown;    poss.
  6811. from `crusty' or `cruddy'] 1. Poorly built, possibly    over-complex.
  6812. The {canonical} example is "This is standard old    crufty {DEC}
  6813. software".  In fact, one fanciful theory of the    origin of `crufty'
  6814. holds that was originally a mutation of    `crusty' applied to DEC
  6815. software so old that the `s' characters    were tall and skinny,
  6816. looking more like `f' characters.     2. Unpleasant, especially to the
  6817. touch, often with encrusted junk.     Like spilled coffee smeared with
  6818. peanut butter and catsup.     3. Generally unpleasant.  4. (sometimes
  6819. spelled `cruftie') n.     A small crufty object (see {frob}); often one
  6820. that doesn't fit    well into the scheme of things.  "A LISP property
  6821. list is a good    place to store crufties (or, collectively, {random}
  6822. cruft)."
  6823.  
  6824.    This term is one of the oldest in the jargon and no one is sure of
  6825. its etymology, but it is suggestive that there is a Cruft Hall at
  6826. Harvard University which is part of the old physics building; it's
  6827. said to have been the physics department's radar lab during WWII.
  6828. To this day (early 1993) the windows appear to be full of random
  6829. techno-junk.  MIT or Lincoln Labs people may well have coined the
  6830. term as a knock on the competition.
  6831.  
  6832.    :crumb: n.  Two binary digits; a {quad}.  Larger than a    {bit},
  6833. smaller than a {nybble}.  Considered silly.     Syn. {tayste}.  General
  6834. discussion of such terms is under    {nybble}.
  6835.  
  6836.    :crunch: 1. vi.  To process, usually in a time-consuming or
  6837. complicated way.  Connotes an essentially trivial operation that is
  6838. nonetheless painful to perform.  The pain may be due to the
  6839. triviality's being embedded in a loop from 1 to 1,000,000,000.
  6840. "FORTRAN programs do mostly {number-crunching}."  2. vt. To    reduce
  6841. the size of a file by a complicated scheme that produces bit
  6842. configurations completely unrelated to the original data, such as    by
  6843. a Huffman code.  (The file ends up looking something like a    paper
  6844. document would if somebody crunched the paper into a wad.)     Since
  6845. such compression usually takes more computations than simpler
  6846. methods such as run-length encoding, the term is doubly    appropriate.
  6847. (This meaning is usually used in the construction    `file
  6848. crunch(ing)' to distinguish it from {number-crunching}.)     See
  6849. {compress}.  3. n. The character `#'.  Used at XEROX    and CMU, among
  6850. other places.  See {{ASCII}}.  4. vt. To squeeze    program source into
  6851. a minimum-size representation that will still    compile or execute.
  6852. The term came into being specifically for a    famous program on the
  6853. BBC micro that crunched BASIC source in order    to make it run more
  6854. quickly (it was a wholly interpretive BASIC, so    the number of
  6855. characters mattered).  {Obfuscated C Contest}    entries are often
  6856. crunched; see the first example under that entry.
  6857.  
  6858.    :cryppie: /krip'ee/ n.  A cryptographer.  One who hacks or
  6859. implements cryptographic software or hardware.
  6860.  
  6861.    :CTSS: /C-T-S-S/ n.  Compatible Time-Sharing System.  An    early
  6862. (1963) experiment in the design of interactive time-sharing
  6863. operating systems, ancestral to {{Multics}}, {{Unix}}, and    {{ITS}}.
  6864. The name {{ITS}} (Incompatible Time-sharing System)    was a hack on
  6865. CTSS, meant both as a joke and to express some basic    differences in
  6866. philosophy about the way I/O services should be    presented to user
  6867. programs.
  6868.  
  6869.    :cube: n.  1. [short for `cubicle'] A module in the    open-plan
  6870. offices used at many programming shops.  "I've got the    manuals in my
  6871. cube."  2. A NeXT machine (which resembles a    matte-black cube).
  6872.  
  6873.    :cubing: vi.  [parallel with `tubing'] 1. Hacking on an IPSC
  6874. (Intel Personal SuperComputer) hypercube.  "Louella's gone cubing
  6875. _again_!!"  2. Hacking Rubik's Cube or related puzzles,    either
  6876. physically or mathematically.  3. An indescribable form of
  6877. self-torture (see sense 1 or 2).
  6878.  
  6879.    :cup holder: n.  The tray of a CD-ROM drive, or by    extension the
  6880. CD drive itself. So called because of a common tech    support legend
  6881. about the idiot who called to complain that the cup    holder on his
  6882. computer broke. A joke program was once distributed    around the net
  6883. called "cupholder.exe", which when run simply    extended the CD drive
  6884. tray. The humor of this was of course lost on    people whose drive had
  6885. a slot or a caddy instead.
  6886.  
  6887.    :cursor dipped in X: n.  There are a couple of metaphors in
  6888. English of the form `pen dipped in X' (perhaps the most common
  6889. values of X are `acid', `bile', and `vitriol').  These map    over
  6890. neatly to this hackish usage (the cursor being what moves,    leaving
  6891. letters behind, when one is composing on-line).  "Talk    about a
  6892. {nastygram}!  He must've had his cursor dipped in acid    when he wrote
  6893. that one!"
  6894.  
  6895.    :cuspy: /kuhs'pee/ adj.  [WPI: from the {DEC}    abbreviation CUSP,
  6896. for `Commonly Used System Program', i.e., a    utility program used by
  6897. many people] 1. (of a program)    Well-written.  2. Functionally
  6898. excellent.  A program that performs    well and interfaces well to
  6899. users is cuspy.  See {rude}.     3. [NYU] Said of an attractive woman,
  6900. especially one regarded as    available.  Implies a certain
  6901. curvaceousness.
  6902.  
  6903.    :cut a tape: vi.  To write a software or document distribution    on
  6904. magnetic tape for shipment.  Has nothing to do with physically
  6905. cutting the medium!  Early versions of this lexicon claimed that    one
  6906. never analogously speaks of `cutting a disk', but this has    since
  6907. been reported as live usage.  Related slang usages are    mainstream
  6908. business's `cut a check', the recording industry's    `cut a record',
  6909. and the military's `cut an order'.
  6910.  
  6911.    All of these usages reflect physical processes in obsolete
  6912. recording and duplication technologies.  The first stage in
  6913. manufacturing an old-style vinyl record involved cutting grooves in
  6914. a stamping die with a precision lathe.  More mundanely, the    dominant
  6915. technology for mass duplication of paper documents in
  6916. pre-photocopying days involved "cutting a stencil", punching away
  6917. portions of the wax overlay on a silk screen.  More directly,    paper
  6918. tape with holes punched in it was an important early storage    medium.
  6919.  
  6920.    :cybercrud: /si:'ber-kruhd/ n.  1. [coined by Ted Nelson]
  6921. Obfuscatory tech-talk.  Verbiage with a high {MEGO} factor.  The
  6922. computer equivalent of bureaucratese.  2. Incomprehensible stuff
  6923. embedded in email.  First there were the "Received" headers that
  6924. show how mail flows through systems, then MIME (Multi-purpose
  6925. Internet Mail Extensions) headers and part boundaries, and now huge
  6926. blocks of hex for PEM (Privacy Enhanced Mail) or PGP (Pretty Good
  6927. Privacy) digital signatures and certificates of authenticity.  This
  6928. stuff all services a purpose and good user interfaces should hide
  6929. it, but all too often users are forced to wade through it.
  6930.  
  6931.    :cyberpunk: /si:'ber-puhnk/ n.,adj.  [orig. by SF writer    Bruce
  6932. Bethke and/or editor Gardner Dozois] A subgenre of SF    launched in
  6933. 1982 by William Gibson's epoch-making novel    "Neuromancer" (though
  6934. its roots go back through Vernor Vinge's    "True Names" (see the
  6935. {Bibliography} in Appendix C) to    John Brunner's 1975 novel "The
  6936. Shockwave Rider").  Gibson's    near-total ignorance of computers and
  6937. the present-day hacker    culture enabled him to speculate about the
  6938. role of computers and    hackers in the future in ways hackers have
  6939. since found both    irritatingly nai"ve and tremendously stimulating.
  6940. Gibson's work    was widely imitated, in particular by the short-lived
  6941. but    innovative "Max Headroom" TV series.  See {cyberspace},
  6942. {ice}, {jack in}, {go flatline}.
  6943.  
  6944.    Since 1990 or so, popular culture has included a movement or
  6945. fashion trend that calls itself `cyberpunk', associated especially
  6946. with the rave/techno subculture.  Hackers have mixed feelings about
  6947. this.  On the one hand, self-described cyberpunks too often seem to
  6948. be shallow trendoids in black leather who have substituted
  6949. enthusiastic blathering about technology for actually learning and
  6950. _doing_ it.  Attitude is no substitute for competence.  On the    other
  6951. hand, at least cyberpunks are excited about the right things    and
  6952. properly respectful of hacking talent in those who have it.     The
  6953. general consensus is to tolerate them politely in hopes that    they'll
  6954. attract people who grow into being true hackers.
  6955.  
  6956.    :cyberspace: /si:'br-spays`/ n.  1. Notional    `information-space'
  6957. loaded with visual cues and navigable with    brain-computer interfaces
  6958. called `cyberspace decks'; a    characteristic prop of {cyberpunk} SF.
  6959. Serious efforts to    construct {virtual reality} interfaces modeled
  6960. explicitly on    Gibsonian cyberspace are under way, using more
  6961. conventional devices    such as glove sensors and binocular TV
  6962. headsets.  Few hackers are    prepared to deny outright the possibility
  6963. of a cyberspace someday    evolving out of the network (see {the
  6964. network}).  2. The    Internet or {Matrix} (sense #2) as a whole,
  6965. considered as a    crude cyberspace (sense 1).  Although this usage
  6966. became widely    popular in the mainstream press during 1994 when the
  6967. Internet    exploded into public awareness, it is strongly deprecated
  6968. among    hackers because the Internet does not meet the high,
  6969. SF-inspired    standards they have for true cyberspace technology.
  6970. Thus, this use    of the term usually tags a {wannabee} or outsider.
  6971. 3. Occasionally, the metaphoric location of the mind of a person in
  6972. {hack mode}.  Some hackers report experiencing strong eidetic
  6973. imagery when in hack mode; interestingly, independent reports from
  6974. multiple sources suggest that there are common features to the
  6975. experience.  In particular, the dominant colors of this subjective
  6976. `cyberspace' are often gray and silver, and the imagery often
  6977. involves constellations of marching dots, elaborate shifting
  6978. patterns of lines and angles, or moire patterns.
  6979.  
  6980.    :cycle:  1. n. The basic unit of computation.  What every    hacker
  6981. wants more of (noted hacker Bill Gosper described himself as    a
  6982. "cycle junkie"). One can describe an instruction as taking so    many
  6983. `clock cycles'.  Often the computer can access its memory    once on
  6984. every clock cycle, and so one speaks also of `memory    cycles'.  These
  6985. are technical meanings of {cycle}.  The jargon    meaning comes from
  6986. the observation that there are only so many    cycles per second, and
  6987. when you are sharing a computer the cycles    get divided up among the
  6988. users.  The more cycles the computer    spends working on your program
  6989. rather than someone else's, the    faster your program will run.
  6990. That's why every hacker wants more    cycles: so he can spend less time
  6991. waiting for the computer to    respond.  2. By extension, a notional
  6992. unit of _human_ thought    power, emphasizing that lots of things
  6993. compete for the typical    hacker's think time.  "I refused to get
  6994. involved with the Rubik's    Cube back when it was big.  Knew I'd burn
  6995. too many cycles on it if    I let myself."  3. vt. Syn. {bounce} (sense
  6996. 4), {120 reset};    from the phrase `cycle power'. "Cycle the machine
  6997. again, that    serial port's still hung."
  6998.  
  6999.    :cycle crunch: n.,obs.  A situation wherein the number of    people
  7000. trying to use a computer simultaneously has reached the    point where
  7001. no one can get enough cycles because they are spread    too thin and
  7002. the system has probably begun to {thrash}.  This    scenario is an
  7003. inevitable result of Parkinson's Law applied to    timesharing.
  7004. Usually the only solution is to buy more computer.     Happily, this
  7005. has rapidly become easier since the mid-1980s, so    much so that the
  7006. very term `cycle crunch' now has a faintly archaic    flavor; most
  7007. hackers now use workstations or personal computers as    opposed to
  7008. traditional timesharing systems, and are far more likely    to complain
  7009. of `bandwidth crunch' on their shared networks rather than    cycle
  7010. crunch.
  7011.  
  7012.    :cycle drought: n.  A scarcity of cycles.  It may be due to a
  7013. {cycle crunch}, but it could also occur because part of the    computer
  7014. is temporarily not working, leaving fewer cycles to go    around.  "The
  7015. {high moby} is {down}, so we're running with    only half the usual
  7016. amount of memory.  There will be a cycle    drought until it's fixed."
  7017.  
  7018.    :cycle of reincarnation: n.  [coined in a paper by T. H. Myer    and
  7019. I.E. Sutherland "On the Design of Display Processors", Comm.     ACM,
  7020. Vol. 11, no. 6, June 1968)] Term used to refer to a well-known
  7021. effect whereby function in a computing system family is migrated    out
  7022. to special-purpose peripheral hardware for speed, then the
  7023. peripheral evolves toward more computing power as it does its job,
  7024. then somebody notices that it is inefficient to support two
  7025. asymmetrical processors in the architecture and folds the function
  7026. back into the main CPU, at which point the cycle begins again.
  7027.  
  7028.    Several iterations of this cycle have been observed in
  7029. graphics-processor design, and at least one or two in    communications
  7030. and floating-point processors.  Also known as `the    Wheel of Life',
  7031. `the Wheel of Samsara', and other variations of    the basic
  7032. Hindu/Buddhist theological idea.  See also {blitter},    {bit bang}.
  7033.  
  7034.    :cycle server: n.  A powerful machine that exists    primarily for
  7035. running large compute-, disk-, or memory-intensive    jobs (more
  7036. formally called a `compute server').  Implies that    interactive tasks
  7037. such as editing are done on other machines on the    network, such as
  7038. workstations.
  7039.  
  7040.    :cypherpunk: n.  [from {cyberpunk}] Someone interested in the
  7041. uses of encryption via electronic ciphers for enhancing personal
  7042. privacy and guarding against tyranny by centralized, authoritarian
  7043. power structures, especially government.  There is an active
  7044. cypherpunks mailing list at <cypherpunks-request@toad.com>
  7045. coordinating work on public-key encryption freeware, privacy, and
  7046. digital cash.  See also {tentacle}.
  7047.  
  7048.    :C|N>K: n.  [Usenet] Coffee through Nose to Keyboard; that    is, "I
  7049. laughed so hard I {snarf}ed my coffee onto my    keyboard.".  Common on
  7050. alt.fan.pratchett and {scary    devil monastery}; recognized elsewhere.
  7051. The    Acronymphomania FAQ
  7052. (http://www.lspace.org/faqs/acronym-faq.g.html) on alt.fan.pratchett
  7053. recognizes    variants such as T|N>K = `Tea through Nose to Keyboard'
  7054. and    C|N>S = `Coffee through Nose to Screen'.
  7055.  
  7056. = D =
  7057. =====
  7058.  
  7059.    :D. C. Power Lab: n.  The former site of {{SAIL}}.  Hackers
  7060. thought this was very funny because the obvious connection to
  7061. electrical engineering was nonexistent -- the lab was named for a
  7062. Donald C.  Power.  Compare {Marginal Hacks}.
  7063.  
  7064.    :daemon: /day'mn/ or /dee'mn/ n.  [from the mythological    meaning,
  7065. later rationalized as the acronym `Disk And Execution    MONitor'] A
  7066. program that is not invoked explicitly, but lies    dormant waiting for
  7067. some condition(s) to occur.  The idea is that    the perpetrator of the
  7068. condition need not be aware that a daemon is    lurking (though often a
  7069. program will commit an action only because    it knows that it will
  7070. implicitly invoke a daemon).  For example,    under {{ITS}} writing a
  7071. file on the {LPT} spooler's directory    would invoke the spooling
  7072. daemon, which would then print the file.     The advantage is that
  7073. programs wanting (in this example) files    printed need neither
  7074. compete for access to nor understand any    idiosyncrasies of the
  7075. {LPT}.  They simply enter their implicit    requests and let the daemon
  7076. decide what to do with them.  Daemons    are usually spawned
  7077. automatically by the system, and may either    live forever or be
  7078. regenerated at intervals.
  7079.  
  7080.    Daemon and {demon} are often used interchangeably, but seem to
  7081. have distinct connotations.  The term `daemon' was introduced to
  7082. computing by {CTSS} people (who pronounced it /dee'mon/) and    used it
  7083. to refer to what ITS called a {dragon}.  Although the    meaning and
  7084. the pronunciation have drifted, we think this glossary    reflects
  7085. current (1999) usage.
  7086.  
  7087.    :daemon book: n.  "The Design and Implementation of    the 4.3BSD
  7088. UNIX Operating System", by Samuel J. Leffler, Marshall    Kirk
  7089. McKusick, Michael J. Karels, and John S. Quarterman    (Addison-Wesley
  7090. Publishers, 1989, ISBN 0-201-06196-1); or    "The Design and
  7091. Implementation of the 4.4 BSD Operating    System" by Marshall Kirk
  7092. McKusick, Keith Bostic, Michael J. Karels    and John S. Quarterman
  7093. (Addison-Wesley Longman, 1996, SBN    0-201-54979-4) Either of the
  7094. standard reference books on the    internals of {BSD} Unix.  So called
  7095. because the covers have a    picture depicting a little devil (a visual
  7096. play on {daemon}) in    sneakers, holding a pitchfork (referring to one
  7097. of the    characteristic features of Unix, the `fork(2)' system call).
  7098.   Also known as the {Devil Book}.
  7099.  
  7100.    :dahmum: /dah'mum/ n.  [Usenet] The material of which    protracted
  7101. {flame war}s, especially those about operating    systems, is composed.
  7102. Homeomorphic to {spam}.  The term    `dahmum' is derived from the name
  7103. of a militant {OS/2}    advocate, and originated when an extensively
  7104. crossposted    OS/2-versus-{Linux} debate was fed through {Dissociated
  7105.  Press}.
  7106.  
  7107.    :dancing frog: n.  [Vancouver area] A problem that occurs    on a
  7108. computer that will not reappear while anyone else is watching.     From
  7109. the classic Warner Brothers cartoon "One Froggy    Evening", featuring
  7110. a dancing and singing Michigan J. Frog that    just croaks when anyone
  7111. else is around (now the WB network    mascot).
  7112.  
  7113.    :dangling pointer: n.  [common] A reference that doesn't    actually
  7114. lead anywhere (in C and some other languages, a pointer    that doesn't
  7115. actually point at anything valid).  Usually this    happens because it
  7116. formerly pointed to something that has moved or    disappeared.  Used
  7117. as jargon in a generalization of its techspeak    meaning; for example,
  7118. a local phone number for a person who has    since moved to the other
  7119. coast is a dangling pointer.  Compare    {dead link}.
  7120.  
  7121.    :dark-side hacker: n.  A criminal or malicious hacker; a
  7122. {cracker}.  From George Lucas's Darth Vader, "seduced by the    dark
  7123. side of the Force".  The implication that hackers form a sort    of
  7124. elite of technological Jedi Knights is intended.  Oppose    {samurai}.
  7125.  
  7126.    :Datamation: /day`t*-may'sh*n/ n.  A magazine that many    hackers
  7127. assume all {suit}s read.  Used to question an unbelieved    quote, as
  7128. in "Did you read that in `Datamation?'" (But see    below; this slur
  7129. may be dated by the time you read this.) It used    to publish
  7130. something hackishly funny every once in a while, like    the original
  7131. paper on {COME FROM} in 1973, and Ed Post's    "Real Programmers Don't
  7132. Use Pascal" ten years later, but for    a long time after that it was
  7133. much more exclusively    {suit}-oriented and boring.  Following a
  7134. change of editorship in    1994, Datamation is trying for more of the
  7135. technical content and    irreverent humor that marked its early days.
  7136.  
  7137.    Datamation now has a WWW page at `http://www.datamation.com'
  7138. worth visiting for its selection of computer humor, including    "Real
  7139. Programmers Don't Use Pascal" and the `Bastard Operator    From Hell'
  7140. stories by Simon Travaglia (see {BOFH}).
  7141.  
  7142.    :DAU: /dow/ n.  [German FidoNet] German acronym for    Du"mmster
  7143. Anzunehmender User (stupidest imaginable user).     From the
  7144. engineering-slang GAU for Gro"sster Anzunehmender    Unfall, worst
  7145. assumable accident, esp. of a LNG tank farm plant    or something with
  7146. similarly disastrous consequences.  In popular    German, GAU is used
  7147. only to refer to worst-case nuclear acidents    such as a core
  7148. meltdown. See {cretin}, {fool}, {loser} and    {weasel}.
  7149.  
  7150.    :Dave the Resurrector: n.  [Usenet; also abbreviated DtR]    A
  7151. {cancelbot} that cancels cancels.  Dave the Resurrector    originated
  7152. when some {spam}-spewers decided to try to impede    spam-fighting by
  7153. wholesale cancellation of anti-spam coordination    messages in the
  7154. news.admin.net-abuse.usenet    newsgroup.
  7155.  
  7156.    :day mode: n.  See {phase} (sense 1).  Used of people only.
  7157.  
  7158.    :dd: /dee-dee/ vt.  [Unix: from IBM {JCL}] Equivalent to    {cat} or
  7159. {BLT}.  Originally the name of a Unix copy command    with special
  7160. options suitable for block-oriented devices; it was    often used in
  7161. heavy-handed system maintenance, as in "Let's    `dd' the root
  7162. partition onto a tape, then use the boot PROM to    load it back on to
  7163. a new disk".  The Unix `dd(1)' was    designed with a weird, distinctly
  7164. non-Unixy keyword option syntax    reminiscent of IBM System/360 JCL
  7165. (which had an elaborate DD    `Dataset Definition' specification for
  7166. I/O devices); though the    command filled a need, the interface design
  7167. was clearly a prank.     The jargon usage is now very rare outside Unix
  7168. sites and now nearly    obsolete even there, as `dd(1)' has been
  7169. {deprecated} for a    long time (though it has no exact replacement).
  7170. The term has been    displaced by {BLT} or simple English `copy'.
  7171.  
  7172.    :DDT: /D-D-T/ n.  1. Generic term for a program that assists    in
  7173. debugging other programs by showing individual machine    instructions
  7174. in a readable symbolic form and letting the user    change them.  In
  7175. this sense the term DDT is now archaic, having    been widely displaced
  7176. by `debugger' or names of individual    programs like `adb', `sdb',
  7177. `dbx', or `gdb'.     2. [ITS] Under MIT's fabled {{ITS}} operating
  7178. system, DDT (running    under the alias HACTRN, a six-letterism for
  7179. `Hack Translator') was    also used as the {shell} or top level command
  7180. language used to    execute other programs.  3. Any one of several
  7181. specific DDTs (sense    1) supported on early {DEC} hardware and CP/M.
  7182. The PDP-10 Reference    Handbook (1969) contained a footnote on the
  7183. first page of the    documentation for DDT that illuminates the origin
  7184. of the term:
  7185.  
  7186.      Historical footnote: DDT was developed at MIT for the PDP-1
  7187.      computer in 1961.  At that time DDT stood for "DEC Debugging
  7188.      Tape".  Since then, the idea of an on-line debugging program has
  7189.      propagated throughout the computer industry.  DDT programs are now
  7190.      available for all DEC computers.  Since media other than tape are
  7191.      now frequently used, the more descriptive name "Dynamic Debugging
  7192.      Technique" has been adopted, retaining the DDT abbreviation.
  7193.      Confusion between DDT-10 and another well known pesticide,
  7194.      dichloro-diphenyl-trichloroethane (C14-H9-Cl5) should be minimal
  7195.      since each attacks a different, and apparently mutually exclusive,
  7196.      class of bugs.
  7197.  
  7198. (The `tape' referred to was, incidentally, not magnetic but paper.)
  7199. Sadly, this quotation was removed from later editions of the
  7200. handbook after the {suit}s took over and {DEC} became much more
  7201. `businesslike'.
  7202.  
  7203.    The history above is known to many old-time hackers.  But there's
  7204. more: Peter Samson, compiler of the original {TMRC} lexicon,    reports
  7205. that he named `DDT' after a similar tool on the TX-0    computer, the
  7206. direct ancestor of the PDP-1 built at MIT's Lincoln    Lab in 1957.
  7207. The debugger on that ground-breaking machine (the    first
  7208. transistorized computer) rejoiced in the name FLIT    (FLexowriter
  7209. Interrogation Tape).
  7210.  
  7211.    :de-rezz: /dee-rez'/  [from `de-resolve' via the movie    "Tron"]
  7212. (also `derez') 1. vi. To disappear or dissolve; the    image that goes
  7213. with it is of an object breaking up into raster    lines and static and
  7214. then dissolving.  Occasionally used of a    person who seems to have
  7215. suddenly `fuzzed out' mentally rather than    physically.  Usage:
  7216. extremely silly, also rare.  This verb was    actually invented as
  7217. _fictional_ hacker jargon, and adopted in    a spirit of irony by real
  7218. hackers years after the fact.  2. vt. The    Macintosh resource
  7219. decompiler.  On a Macintosh, many program    structures (including the
  7220. code itself) are managed in small    segments of the program file known
  7221. as `resources'; `Rez' and    `DeRez' are a pair of utilities for
  7222. compiling and decompiling    resource files.  Thus, decompiling a
  7223. resource is `derezzing'.     Usage: very common.
  7224.  
  7225.    :dead: adj.  1. Non-functional; {down}; {crash}ed.     Especially
  7226. used of hardware.  2. At XEROX PARC, software that is    working but
  7227. not undergoing continued development and support.     3. Useless;
  7228. inaccessible.  Antonym: `live'.  Compare {dead    code}.
  7229.  
  7230.    :dead code: n.  Routines that can never be accessed because    all
  7231. calls to them have been removed, or code that cannot be reached
  7232. because it is guarded by a control structure that provably must
  7233. always transfer control somewhere else.  The presence of dead code
  7234. may reveal either logical errors due to alterations in the program
  7235. or significant changes in the assumptions and environment of the
  7236. program (see also {software rot}); a good compiler should report
  7237. dead code so a maintainer can think about what it means.     (Sometimes
  7238. it simply means that an _extremely_ defensive    programmer has
  7239. inserted {can't happen} tests which really can't    happen -- yet.)
  7240. Syn. {grunge}.  See also {dead}, and    {The Story of Mel}.
  7241.  
  7242.    :dead link: n.  [very common] A World-Wide-Web URL that no    longer
  7243. points to the information it was written to reach.  Usually    this
  7244. happens because the document has been moved or deleted.  Lots    of
  7245. dead links make a WWW page frustrating and useless and are the    #1
  7246. sign of poor page maintainance. Compare {dangling    pointer}, {link
  7247. rot}.
  7248.  
  7249.    :DEADBEEF: /ded-beef/ n.  The hexadecimal word-fill pattern    for
  7250. freshly allocated memory (decimal -21524111) under a number of    IBM
  7251. environments, including the RS/6000.  Some modern debugging    tools
  7252. deliberately fill freed memory with this value as a way of
  7253. converting {heisenbug}s into {Bohr bug}s.  As in "Your    program is
  7254. DEADBEEF" (meaning gone, aborted, flushed from memory);    if you start
  7255. from an odd half-word boundary, of course, you have    BEEFDEAD.  See
  7256. also the anecdote under {fool}.
  7257.  
  7258.    :deadlock: n.  1. [techspeak] A situation wherein two or more
  7259. processes are unable to proceed because each is waiting for one of
  7260. the others to do something.  A common example is a program
  7261. communicating to a server, which may find itself waiting for output
  7262. from the server before sending anything more to it, while the    server
  7263. is similarly waiting for more input from the controlling    program
  7264. before outputting anything.  (It is reported that this    particular
  7265. flavor of deadlock is sometimes called a `starvation    deadlock',
  7266. though the term `starvation' is more properly used for    situations
  7267. where a program can never run simply because it never    gets high
  7268. enough priority.  Another common flavor is    `constipation', in which
  7269. each process is trying to send stuff to    the other but all buffers
  7270. are full because nobody is reading    anything.)  See {deadly embrace}.
  7271. 2. Also used of deadlock-like    interactions between humans, as when
  7272. two people meet in a narrow    corridor, and each tries to be polite by
  7273. moving aside to let the    other pass, but they end up swaying from
  7274. side to side without    making any progress because they always move
  7275. the same way at the    same time.
  7276.  
  7277.    :deadly embrace: n.  Same as {deadlock}, though usually    used only
  7278. when exactly two processes are involved.  This is the    more popular
  7279. term in Europe, while {deadlock} predominates in    the United States.
  7280.  
  7281.    :death code: n.  A routine whose job is to set everything in    the
  7282. computer -- registers, memory, flags, everything -- to zero,
  7283. including that portion of memory where it is running; its last act
  7284. is to stomp on its own "store zero" instruction.  Death code    isn't
  7285. very useful, but writing it is an interesting hacking    challenge on
  7286. architectures where the instruction set makes it    possible, such as
  7287. the PDP-8 (it has also been done on the DG Nova).
  7288.  
  7289.    Perhaps the ultimate death code is on the TI 990 series, where all
  7290. registers are actually in RAM, and the instruction "store    immediate
  7291. 0" has the opcode "0". The PC will immediately wrap    around core as
  7292. many times as it can until a user hits HALT.  Any    empty memory
  7293. location is death code.  Worse, the manufacturer    recommended use of
  7294. this instruction in startup code (which would be    in ROM and
  7295. therefore survive).
  7296.  
  7297.    :Death Square: n.  The corporate logo of Novell, the people    who
  7298. acquired USL after AT&T let go of it (Novell eventually sold    the
  7299. Unix group to SCO).  Coined by analogy with {Death Star},    because
  7300. many people believed Novell was bungling the lead in Unix    systems
  7301. exactly as AT&T did for many years.
  7302.  
  7303.    :Death Star: n.  [from the movie "Star Wars"] 1. The    AT&T
  7304. corporate logo, which appears on computers sold by AT&T and    bears an
  7305. uncanny resemblance to the Death Star in the movie.  This    usage is
  7306. particularly common among partisans of {BSD} Unix, who    tend to
  7307. regard the AT&T versions as inferior and AT&T as a bad guy.     Copies
  7308. still circulate of a poster printed by Mt. Xinu showing a    starscape
  7309. with a space fighter labeled 4.2 BSD streaking away from    a broken
  7310. AT&T logo wreathed in flames.  2. AT&T's internal    magazine, "Focus",
  7311. uses `death star' to describe an    incorrectly done AT&T logo in which
  7312. the inner circle in the top    left is dark instead of light -- a
  7313. frequent result of    dark-on-light logo images.
  7314.  
  7315.    :DEC:: /dek/ n.  1. v. Verbal (and only rarely    written) shorthand
  7316. for decrement, i.e. `decrease by one'.     Especially used by assembly
  7317. programmers, as many assembly languages    have a `dec' mnemonic.
  7318. Antonym: {inc}.  2. n. Commonly    used abbreviation for Digital
  7319. Equipment Corporation, later    deprecated by DEC itself in favor of
  7320. "Digital" and now entirely    obsolete following the buyout by Compaq.
  7321. Before the {killer    micro} revolution of the late 1980s, hackerdom
  7322. was closely    symbiotic with DEC's pioneering timesharing machines.
  7323. The first of    the group of cultures described by this lexicon
  7324. nucleated around    the PDP-1 (see {TMRC}).  Subsequently, the PDP-6,
  7325. {PDP-10},    {PDP-20}, PDP-11 and {VAX} were all foci of large and
  7326. important hackerdoms, and DEC machines long dominated the ARPANET
  7327. and Internet machine population.  DEC was the technological leader
  7328. of the minicomputer era (roughly 1967 to 1987), but its failure to
  7329. embrace microcomputers and Unix early cost it heavily in profits    and
  7330. prestige after {silicon} got cheap.  Nevertheless, the
  7331. microprocessor design tradition owes a major debt to the PDP-11
  7332. instruction set, and every one of the major general-purpose
  7333. microcomputer OSs so far (CP/M, MS-DOS, Unix, OS/2, Windows NT) was
  7334. either genetically descended from a DEC OS, or incubated on DEC
  7335. hardware, or both.  Accordingly, DEC was for many years still
  7336. regarded with a certain wry affection even among many hackers too
  7337. young to have grown up on DEC machines.
  7338.  
  7339.    DEC reclaimed some of its old reputation among techies in the first
  7340.  half of the 1990s.  The success of the Alpha, an
  7341. innovatively-designed and very high-performance {killer micro},
  7342. helped a lot.  So did DEC's newfound receptiveness to Unix and open
  7343. systems in general.  When Compaq acquired DEC at the end of 1998
  7344. there was some concern that these gains would be lost along with    the
  7345. DEC nameplate, but the merged company has so far turned out to    be
  7346. culturally dominated by the ex-DEC side.
  7347.  
  7348.    :DEC Wars: n.  A 1983 {Usenet} posting by Alan Hastings    and Steve
  7349. Tarr spoofing the "Star Wars" movies in hackish    terms.  Some years
  7350. later, ESR (disappointed by Hastings and Tarr's    failure to exploit a
  7351. great premise more thoroughly) posted a    3-times-longer complete
  7352. rewrite called    Unix WARS
  7353. (http://www.tuxedo.org/~esr/writings/unixwars.html);    the two are
  7354. often confused.
  7355.  
  7356.    :decay: n.,vi  [from nuclear physics] An automatic conversion which
  7357.  is applied to most array-valued expressions in {C}; they `decay
  7358. into' pointer-valued expressions pointing to the array's first
  7359. element.  This term is borderline techspeak, but is not used in the
  7360. official standard for the language.
  7361.  
  7362.    :deckle: /dek'l/ n.  [from dec- and {nybble}; the original
  7363. spelling seems to have been `decle'] Two {nickle}s; 10    bits.
  7364. Reported among developers for Mattel's GI 1600 (the    Intellivision
  7365. games processor), a chip with 16-bit-wide RAM but    10-bit-wide ROM.
  7366. See {nybble} for other such terms.
  7367.  
  7368.    :DED: /D-E-D/ n.  Dark-Emitting Diode (that is, a burned-out
  7369. LED).  Compare {SED}, {LER}, {write-only memory}.  In the    early
  7370. 1970s both Signetics and Texas instruments released DED spec    sheets
  7371. as {AFJ}s (suggested uses included "as a power-off    indicator").
  7372.  
  7373.    :deep hack mode: n.  See {hack mode}.
  7374.  
  7375.    :deep magic: n.  [poss. from C. S. Lewis's "Narnia"    books] An
  7376. awesomely arcane technique central to a program or    system, esp. one
  7377. neither generally published nor available to    hackers at large
  7378. (compare {black art}); one that could only have    been composed by a
  7379. true {wizard}.  Compiler optimization    techniques and many aspects of
  7380. {OS} design used to be {deep    magic}; many techniques in
  7381. cryptography, signal processing,    graphics, and AI still are.
  7382. Compare {heavy wizardry}.  Esp.     found in comments of the form "Deep
  7383. magic begins here...".     Compare {voodoo programming}.
  7384.  
  7385.    :deep space: n.  1. Describes the notional location of any
  7386. program that has gone {off the trolley}.  Esp. used of    programs that
  7387. just sit there silently grinding long after either    failure or some
  7388. output is expected.  "Uh oh.  I should have gotten    a prompt ten
  7389. seconds ago.  The program's in deep space somewhere."     Compare
  7390. {buzz}, {catatonic}, {hyperspace}.  2. The    metaphorical location of
  7391. a human so dazed and/or confused or caught    up in some esoteric form
  7392. of {bogosity} that he or she no longer    responds coherently to normal
  7393. communication.  Compare {page    out}.
  7394.  
  7395.    :defenestration: n.  [from the traditional Czechoslovakian    method
  7396. of assassinating prime ministers, via SF fandom] 1. Proper    karmic
  7397. retribution for an incorrigible punster.  "Oh, ghod, that    was
  7398. _awful_!"  "Quick! Defenestrate him!"  2. The act of    exiting a
  7399. window system in order to get better response time from a
  7400. full-screen program.  This comes from the dictionary meaning of
  7401. `defenestrate', which is to throw something out a window.  3. The
  7402. act of discarding something under the assumption that it will
  7403. improve matters.  "I don't have any disk space left."  "Well,    why
  7404. don't you defenestrate that 100 megs worth of old core dumps?"     4.
  7405. Under a GUI, the act of dragging something out of a window    (onto the
  7406. screen). "Next, defenestrate the MugWump icon."     5. The act of
  7407. completely removing Micro$oft Windows from a PC in    favor of a better
  7408. OS (typically Linux).
  7409.  
  7410.    :defined as: adj.  In the role of, usually in an
  7411. organization-chart sense.  "Pete is currently defined as bug
  7412. prioritizer."  Compare {logical}.
  7413.  
  7414.    :dehose: /dee-hohz/ vt.  To clear a {hosed} condition.
  7415.  
  7416.    :deliminator: /de-lim'-in-ay-t*r/ n.  [portmanteau,    delimiter +
  7417. eliminate]  A string or pattern used to delimit text into    fields,
  7418. but which is itself eliminated from the resulting list of    fields.
  7419. This jargon seems to have originated among Perl hackers in
  7420. connection with the Perl split() function; however, it has been
  7421. sighted in live use among Java and even Visual Basic programmers.
  7422.  
  7423.    :delint: /dee-lint/ v. obs.  To modify code to remove    problems
  7424. detected when {lint}ing.  Confusingly, this process is    also referred
  7425. to as `linting' code.  This term is no longer in    general use because
  7426. ANSI C compilers typically issue compile-time    warnings almost as
  7427. detailed as lint warnings.
  7428.  
  7429.    :delta: n.  1. [techspeak] A quantitative change, especially a
  7430. small or incremental one (this use is general in physics and
  7431. engineering).  "I just doubled the speed of my program!"  "What    was
  7432. the delta on program size?"  "About 30 percent."  (He    doubled the
  7433. speed of his program, but increased its size by only 30    percent.)
  7434. 2. [Unix] A {diff}, especially a {diff} stored    under the set of
  7435. version-control tools called SCCS (Source Code    Control System) or
  7436. RCS (Revision Control System).  3. n. A small    quantity, but not as
  7437. small as {epsilon}.  The jargon usage of    {delta} and {epsilon} stems
  7438. from the traditional use of these    letters in mathematics for very
  7439. small numerical quantities,    particularly in `epsilon-delta' proofs
  7440. in limit theory (as in the    differential calculus).  The term {delta}
  7441. is often used, once    {epsilon} has been mentioned, to mean a quantity
  7442. that is    slightly bigger than {epsilon} but still very small.  "The
  7443. cost    isn't epsilon, but it's delta" means that the cost isn't totally
  7444.   negligible, but it is nevertheless very small.  Common
  7445. constructions include `within delta of --', `within epsilon of    --':
  7446. that is, `close to' and `even closer to'.
  7447.  
  7448.    :demented: adj.  Yet another term of disgust used to    describe a
  7449. malfunctioning program.  The connotation in this case is    that the
  7450. program works as designed, but the design is bad.  Said,    for
  7451. example, of a program that generates large numbers of    meaningless
  7452. error messages, implying that it is on the brink of    imminent
  7453. collapse.  Compare {wonky}, {brain-damaged},    {bozotic}.
  7454.  
  7455.    :demigod: n.  A hacker with years of experience, a    world-wide
  7456. reputation, and a major role in the development of at    least one
  7457. design, tool, or game used by or known to more than half    of the
  7458. hacker community.  To qualify as a genuine demigod, the    person must
  7459. recognizably identify with the hacker community and    have helped
  7460. shape it.  Major demigods include Ken Thompson and    Dennis Ritchie
  7461. (co-inventors of {{Unix}} and {C}), Richard    M. Stallman (inventor of
  7462. {EMACS}), Larry Wall (inventor of    {Perl}), Linus Torvalds (inventor
  7463. of Linux), and most recently    James Gosling (inventor of Java).  In
  7464. their hearts of hearts, most    hackers dream of someday becoming
  7465. demigods themselves, and more    than one major software project has
  7466. been driven to completion by    the author's veiled hopes of
  7467. apotheosis.  See also {net.god},    {true-hacker}.
  7468.  
  7469.    :demo: /de'moh/  [short for `demonstration'] 1. v. To    demonstrate
  7470. a product or prototype.  A far more effective way of    inducing bugs
  7471. to manifest than any number of {test} runs,    especially when
  7472. important people are watching.  2. n. The act    of demoing.  "I've
  7473. gotta give a demo of the drool-proof interface;    how does it work
  7474. again?"  3. n. Esp. as `demo version', can    refer either to an early,
  7475. barely-functional version of a program    which can be used for
  7476. demonstration purposes as long as the    operator uses _exactly_ the
  7477. right commands and skirts its    numerous bugs, deficiencies, and
  7478. unimplemented portions, or to a    special version of a program
  7479. (frequently with some features    crippled) which is distributed at
  7480. little or no cost to the user for    enticement purposes.  4.
  7481. [{demoscene}] A sequence of    {demoeffect}s (usually) combined with
  7482. self-composed music and    hand-drawn ("pixelated") graphics. These
  7483. days (1997) usually    built to attend a {compo}. Often called
  7484. `eurodemos' outside    Europe, as most of the {demoscene} activity
  7485. seems to have gathered    in northern Europe and especially
  7486. Scandinavia.  See also    {intro}, {dentro}.
  7487.  
  7488.    :demo mode: n.  1. [Sun] The state of being {heads down}    in order
  7489. to finish code in time for a {demo}, usually due    yesterday.  2. A
  7490. mode in which video games sit by themselves    running through a
  7491. portion of the game, also known as `attract    mode'.  Some serious
  7492. {app}s have a demo mode they use as a    screen saver, or may go
  7493. through a demo mode on startup (for    example, the Microsoft Windows
  7494. opening screen -- which lets you    impress your neighbors without
  7495. actually having to put up with    {Microsloth Windows}).
  7496.  
  7497.    :demoeffect: n.  [{demoscene}] What among hackers is    called a
  7498. {display hack}. Classical effects include "plasma"    (colorful mess),
  7499. "keftales" (x*x+y*y and other similar    patterns, usually combined
  7500. with color-cycling), realtime fractals,    realtime 3d graphics, etc.
  7501. Historically, demo effects have cheated    as much as possible to gain
  7502. more speed and more complexity, using    low-precision math and masses
  7503. of assembler code and building    animation realtime are three common
  7504. tricks, but use of special    hardware to fake effects is a {Good
  7505. Thing} on the demoscene    (though this is becoming less common as
  7506. platforms like the Amiga    fade away).
  7507.  
  7508.    :demogroup: n.  [{demoscene}] A group of {demo}    (sense 4)
  7509. composers.  Job titles within a group include coders (the    ones who
  7510. write programs), graphicians (the ones who painstakingly    pixelate
  7511. the fine art), musicians (the music composers),    {sysop}s,
  7512. traders/swappers (the ones who do the trading and    other PR), and
  7513. organizers (in larger groups).  It is not uncommon    for one person to
  7514. do multiple jobs, but it has been observed that    good coders are
  7515. rarely good composers and vice versa. [How odd.     Musical talent
  7516. seems common among Internet/Unix hackers --ESR]
  7517.  
  7518.    :demon: n.  1. [MIT] A portion of a program that is not    invoked
  7519. explicitly, but that lies dormant waiting for some    condition(s) to
  7520. occur.  See {daemon}.  The distinction is that    demons are usually
  7521. processes within a program, while daemons are    usually programs
  7522. running on an operating system.  2. [outside MIT]    Often used
  7523. equivalently to {daemon} -- especially in the    {{Unix}} world, where
  7524. the latter spelling and pronunciation is    considered mildly archaic.
  7525.  
  7526.    Demons in sense 1 are particularly common in AI programs.  For
  7527. example, a knowledge-manipulation program might implement inference
  7528. rules as demons.  Whenever a new piece of knowledge was added,
  7529. various demons would activate (which demons depends on the
  7530. particular piece of data) and would create additional pieces of
  7531. knowledge by applying their respective inference rules to the
  7532. original piece.  These new pieces could in turn activate more    demons
  7533. as the inferences filtered down through chains of logic.     Meanwhile,
  7534. the main program could continue with whatever its    primary task was.
  7535.  
  7536.    :demon dialer: n.  A program which repeatedly calls the same
  7537. telephone number.  Demon dialing may be benign (as when a number of
  7538. communications programs contend for legitimate access to a {BBS}
  7539. line) or malign (that is, used as a prank or denial-of-service
  7540. attack).  This term dates from the {blue box} days of the 1970s    and
  7541. early 1980s and is now semi-obsolescent among {phreaker}s;    see {war
  7542. dialer} for its contemporary progeny.
  7543.  
  7544.    :demoparty: n.  [{demoscene}] Aboveground descendant of    the
  7545. {copyparty}, with emphasis shifted away from software piracy    and
  7546. towards {compo}s. Smaller demoparties, for 100 persons or    less, are
  7547. held quite often, sometimes even once a month, and    usually last for
  7548. one to two days. On the other end of the scale,    huge demo parties
  7549. are held once a year (and four of these have    grown very large and
  7550. occur annually - Assembly in Finland, The    Party in Denmark, The
  7551. Gathering in Norway, and NAID somewhere in    north America). These
  7552. parties usually last for three to five days,    have room for 3000-5000
  7553. people, and have a party network with    connection to the internet.
  7554.  
  7555.    :demoscene: /dem'oh-seen/  [also `demo scene'] A culture of
  7556. multimedia hackers located primarily in Scandinavia and northern
  7557. Europe. Demoscene folklore recounts that when old-time {warez    d00dz}
  7558. cracked some piece of software they often added an    advertisement of
  7559. in the beginning, usually containing colorful    {display hack}s with
  7560. greetings to other cracking groups.  The    demoscene was born among
  7561. people who decided building these display    hacks is more interesting
  7562. than hacking and began to build    self-contained display hacks of
  7563. considerable elaboration and beauty    (within the culture such a hack
  7564. is called a {demo}).  The split    seems to have happened at the end of
  7565. the 1980s.  As more of these    {demogroup}s emerged, they started to
  7566. have {compo}s at    copying parties (see {copyparty}), which later
  7567. evolved to    standalone events (see {demoparty}).  The demoscene has
  7568. retained    some traits from the {warez d00dz}, including their style of
  7569.   handles and group names and some of their jargon.
  7570.  
  7571.    Traditionally demos were written in assembly language, with lots of
  7572.  smart tricks, self-modifying code, undocumented op-codes and the
  7573. like.  Some time around 1995, people started coding demos in C, and
  7574. a couple of years after that, they also started using Java.
  7575.  
  7576.    Ten years on (in 1998-1999), the demoscene is changing as its
  7577. original platforms (C64, Amiga, Spectrum, Atari ST, IBM PC under
  7578. DOS) die out and activity shifts towards Windows, Linux, and the
  7579. Internet.  While deeply underground in the past, demoscene is    trying
  7580. to get into the mainstream as accepted art form, and one    symptom of
  7581. this is the commercialization of bigger    demoparties. Older
  7582. demosceneers frown at this, but the majority think    it's a good
  7583. direction.  Many demosceneers end up working in the    computer game
  7584. industry.   Demoscene resource pages are available at
  7585. `http://www.oldskool.org/demos/explained/' and
  7586. `http://www.scene.org/'.
  7587.  
  7588.    :dentro: /den'troh/  [{demoscene}] Combination of    {demo} (sense
  7589. 4) and {intro}. Other name mixings include    intmo, dentmo etc. and
  7590. are used usually when the authors are not    quite sure whether the
  7591. program is a {demo} or an {intro}.     Special purposes coinages like
  7592. wedtro (some member of a group got    married), invtro (invitation
  7593. intro) etc. have also been    sighted.
  7594.  
  7595.    :depeditate: /dee-ped'*-tayt/ n.  [by (faulty) analogy with
  7596. `decapitate'] Humorously, to cut off the feet of.  When one is    using
  7597. some computer-aided typesetting tools, careless placement of    text
  7598. blocks within a page or above a rule can result in chopped-off
  7599. letter descenders.  Such letters are said to have been depeditated.
  7600.  
  7601.    :deprecated: adj.  Said of a program or feature that is
  7602. considered obsolescent and in the process of being phased out,
  7603. usually in favor of a specified replacement.  Deprecated features
  7604. can, unfortunately, linger on for many years.  This term appears
  7605. with distressing frequency in standards documents when the
  7606. committees writing the documents realize that large amounts of
  7607. extant (and presumably happily working) code depend on the
  7608. feature(s) that have passed out of favor.  See also {dusty    deck}.
  7609.  
  7610.    :derf: /derf/ v.,n.  [PLATO] The act of exploiting a    terminal
  7611. which someone else has absentmindedly left logged on, to    use that
  7612. person's account, especially to post articles intended to    make an
  7613. ass of the victim you're impersonating.  It has been    alleged that
  7614. the term originated as a reversal of the name of the    gentleman who
  7615. most usually left himself vulnerable to it, who also    happened to be
  7616. the head of the department that handled PLATO at the    University of
  7617. Delaware.
  7618.  
  7619.    :deserves to lose: adj.  [common] Said of someone who    willfully
  7620. does the {Wrong Thing}; humorously, if one uses a    feature known to
  7621. be {marginal}.  What is meant is that one    deserves the consequences
  7622. of one's {losing} actions.  "Boy,    anyone who tries to use {mess-dos}
  7623. deserves to {lose}!"     ({{ITS}} fans used to say the same thing of
  7624. {{Unix}}; many still    do.)  See also {screw}, {chomp}, {bagbiter}.
  7625.  
  7626.    :desk check: n.,v.  To {grovel} over hardcopy of source    code,
  7627. mentally simulating the control flow; a method of catching    bugs.  No
  7628. longer common practice in this age of on-screen editing,    fast
  7629. compiles, and sophisticated debuggers -- though some maintain
  7630. stoutly that it ought to be.  Compare {eyeball search},    {vdiff},
  7631. {vgrep}.
  7632.  
  7633.    :despew: /d*-spyoo'/ v.  [Usenet] To automatically generate    a
  7634. large amount of garbage to the net, esp. from an automated    posting
  7635. program gone wild.  See {ARMM}.
  7636.  
  7637.    :Devil Book: n.  See {daemon book}, the term preferred by    its
  7638. authors.
  7639.  
  7640.    :/dev/null: /dev-nuhl/ n.  [from the Unix null device, used    as a
  7641. data sink] A notional `black hole' in any information space    being
  7642. discussed, used, or referred to.  A controversial posting,    for
  7643. example, might end "Kudos to rasputin@kremlin.org, flames to
  7644. /dev/null".  See {bit bucket}.
  7645.  
  7646.    :dickless workstation: n.  Extremely pejorative hackerism for
  7647. `diskless workstation', a class of botches including the Sun 3/50
  7648. and other machines designed exclusively to network with an    expensive
  7649. central disk server.  These combine all the disadvantages    of
  7650. time-sharing with all the disadvantages of distributed personal
  7651. computers; typically, they cannot even {boot} themselves without
  7652. help (in the form of some kind of {breath-of-life packet}) from    the
  7653. server.
  7654.  
  7655.    :dictionary flame: n.  [Usenet] An attempt to sidetrack a    debate
  7656. away from issues by insisting on meanings for key terms that
  7657. presuppose a desired conclusion or smuggle in an implicit premise.
  7658. A common tactic of people who prefer argument over definitions to
  7659. disputes about reality.  Compare {spelling flame}.
  7660.  
  7661.    :diddle:  1. vt. To work with or modify in a not particularly
  7662. serious manner.  "I diddled a copy of {ADVENT} so it didn't
  7663. double-space all the time."  "Let's diddle this piece of code and
  7664. see if the problem goes away."  See {tweak} and {twiddle}.     2. n.
  7665. The action or result of diddling.  See also {tweak},    {twiddle},
  7666. {frob}.
  7667.  
  7668.    :die: v.  Syn. {crash}.  Unlike {crash}, which is used    primarily
  7669. of hardware, this verb is used of both hardware and    software.  See
  7670. also {go flatline}, {casters-up mode}.
  7671.  
  7672.    :die horribly: v.  The software equivalent of {crash and    burn},
  7673. and the preferred emphatic form of {die}.  "The    converter choked on
  7674. an FF in its input and died horribly".
  7675.  
  7676.    :diff: /dif/ n.  1. A change listing, especially giving
  7677. differences between (and additions to) source code or documents    (the
  7678. term is often used in the plural `diffs').  "Send me your    diffs for
  7679. the Jargon File!"  Compare {vdiff}.  2. Specifically,    such a listing
  7680. produced by the `diff(1)' command, esp. when    used as specification
  7681. input to the `patch(1)' utility (which    can actually perform the
  7682. modifications; see {patch}).  This is a    common method of
  7683. distributing patches and source updates in the    Unix/C world.  3. v.
  7684. To compare (whether or not by use of automated    tools on
  7685. machine-readable files); see also {vdiff}, {mod}.
  7686.  
  7687.    :digit: n.,obs.  An employee of Digital Equipment    Corporation.
  7688. See also {VAX}, {VMS}, {PDP-10},    {{TOPS-10}}, {field circus}.
  7689.  
  7690.    :dike: vt.  To remove or disable a portion of something, as a
  7691. wire from a computer or a subroutine from a program.  A standard
  7692. slogan is "When in doubt, dike it out".  (The implication is that    it
  7693. is usually more effective to attack software problems by    reducing
  7694. complexity than by increasing it.)  The word `dikes' is    widely used
  7695. among mechanics and engineers to mean `diagonal    cutters', esp. the
  7696. heavy-duty metal-cutting version, but may also    refer to a kind of
  7697. wire-cutters used by electronics techs.  To    `dike something out'
  7698. means to use such cutters to remove    something.  Indeed, the TMRC
  7699. Dictionary defined dike as "to attack    with dikes".  Among hackers
  7700. this term has been metaphorically    extended to informational objects
  7701. such as sections of code.
  7702.  
  7703.    :Dilbert:   n. Name and title character of a comic strip
  7704. nationally syndicated in the U.S. and enormously popular among
  7705. hackers.  Dilbert is an archetypical engineer-nerd who works at an
  7706. anonymous high-technology company; the strips present a lacerating
  7707. satire of insane working conditions and idiotic {management}
  7708. practices all too readily recognized by hackers.  Adams, who spent
  7709. nine years in {cube} 4S700R at Pacific Bell (not {DEC} as often
  7710. reported), often remarks that he has never been able to come up    with
  7711. a fictional management blunder that his correspondents didn't
  7712. quickly either report to have actually happened or top with a
  7713. similar but even more bizarre incident.  In 1996 Adams distilled    his
  7714. insights into the collective psychology of businesses into an    even
  7715. funnier book, "The Dilbert Principle" (HarperCollins,    ISBN
  7716. 0-887-30787-6).  See also {pointy-haired}, {rat dance}.
  7717.  
  7718.    :ding: n.,vi.  1. Synonym for {feep}.  Usage: rare among    hackers,
  7719. but commoner in the {Real World}.  2. `dinged': What    happens when
  7720. someone in authority gives you a minor bitching about    something,
  7721. esp. something trivial.  "I was dinged for having a    messy desk."
  7722.  
  7723.    :dink: /dink/ adj.  Said of a machine that has the {bitty    box}
  7724. nature; a machine too small to be worth bothering with --    sometimes
  7725. the system you're currently forced to work on.  First    heard from an
  7726. MIT hacker working on a CP/M system with 64K, in    reference to any
  7727. 6502 system, then from fans of 32-bit    architectures about 16-bit
  7728. machines.  "GNUMACS will never work on    that dink machine."  Probably
  7729. derived from mainstream `dinky',    which isn't sufficiently
  7730. pejorative.  See {macdink}.
  7731.  
  7732.    :dinosaur: n.  1. Any hardware requiring raised flooring and
  7733. special power.  Used especially of old minis and mainframes, in
  7734. contrast with newer microprocessor-based machines.  In a famous
  7735. quote from the 1988 Unix EXPO, Bill Joy compared the liquid-cooled
  7736. mainframe in the massive IBM display with a grazing dinosaur "with    a
  7737. truck outside pumping its bodily fluids through it".  IBM was    not
  7738. amused.  Compare {big iron}; see also {mainframe}.     2. [IBM] A very
  7739. conservative user; a {zipperhead}.
  7740.  
  7741.    :dinosaur pen: n.  A traditional {mainframe} computer room
  7742. complete with raised flooring, special power, its own
  7743. ultra-heavy-duty air conditioning, and a side order of Halon fire
  7744. extinguishers.  See {boa}.
  7745.  
  7746.    :dinosaurs mating: n.  Said to occur when yet another    {big iron}
  7747. merger or buyout occurs; reflects a perception by    hackers that these
  7748. signal another stage in the long, slow dying of    the {mainframe}
  7749. industry.  In its glory days of the 1960s, it    was `IBM and the Seven
  7750. Dwarves': Burroughs, Control Data, General    Electric, Honeywell, NCR,
  7751. RCA, and Univac.  RCA and GE sold out    early, and it was `IBM and the
  7752. Bunch' (Burroughs, Univac, NCR,    Control Data, and Honeywell) for a
  7753. while.  Honeywell was bought out    by Bull; Burroughs merged with
  7754. Univac to form Unisys (in 1984 --    this was when the phrase
  7755. `dinosaurs mating' was coined); and in    1991 AT&T absorbed NCR (but
  7756. spat it back out a few years    later). Control Data still exists but
  7757. is no longer in the mainframe    business.  More such earth-shaking
  7758. unions of doomed giants seem    inevitable.
  7759.  
  7760.    :dirtball: n.  [XEROX PARC] A small, perhaps struggling    outsider;
  7761. not in the major or even the minor leagues.  For example,    "Xerox is
  7762. not a dirtball company".
  7763.  
  7764.    [Outsiders often observe in the PARC culture an institutional
  7765. arrogance which usage of this term exemplifies.  The brilliance and
  7766. scope of PARC's contributions to computer science have been such
  7767. that this superior attitude is not much resented. --ESR]
  7768.  
  7769.    :dirty power: n.  Electrical mains voltage that is unfriendly    to
  7770. the delicate innards of computers.  Spikes, {drop-outs},    average
  7771. voltage significantly higher or lower than nominal, or just    plain
  7772. noise can all cause problems of varying subtlety and severity    (these
  7773. are collectively known as {power hit}s).
  7774.  
  7775.    :disclaimer: n.  [Usenet] Statement ritually appended to many
  7776. Usenet postings (sometimes automatically, by the posting software)
  7777. reiterating the fact (which should be obvious, but is easily
  7778. forgotten) that the article reflects its author's opinions and not
  7779. necessarily those of the organization running the machine through
  7780. which the article entered the network.
  7781.  
  7782.    :Discordianism: /dis-kor'di-*n-ism/ n.  The veneration of    {Eris},
  7783. a.k.a. Discordia; widely popular among hackers.     Discordianism was
  7784. popularized by Robert Shea and Robert Anton    Wilson's novel
  7785. "{Illuminatus!}" as a sort of    self-subverting Dada-Zen for
  7786. Westerners -- it should on no account    be taken seriously but is far
  7787. more serious than most jokes.     Consider, for example, the Fifth
  7788. Commandment of the Pentabarf, from    "Principia Discordia": "A
  7789. Discordian is Prohibited of    Believing What he Reads."  Discordianism
  7790. is usually connected with    an elaborate conspiracy theory/joke
  7791. involving millennia-long    warfare between the anarcho-surrealist
  7792. partisans of Eris and a    malevolent, authoritarian secret society
  7793. called the Illuminati.     See {Religion} in Appendix B, {Church of the
  7794.   SubGenius}, and {ha ha only serious}.
  7795.  
  7796.    :disk farm: n.  (also {laundromat}) A large room or rooms    filled
  7797. with disk drives (esp. {washing machine}s).
  7798.  
  7799.    :display hack: n.  A program with the same approximate    purpose as
  7800. a kaleidoscope: to make pretty pictures.  Famous display    hacks
  7801. include {munching squares}, {smoking clover}, the BSD    Unix `rain(6)'
  7802. program, `worms(6)' on miscellaneous    Unixes, and the {X} `kaleid(1)'
  7803. program.  Display hacks can    also be implemented by creating text
  7804. files containing numerous    escape sequences for interpretation by a
  7805. video terminal; one    notable example displayed, on any VT100, a
  7806. Christmas tree with    twinkling lights and a toy train circling its
  7807. base.  The {hack    value} of a display hack is proportional to the
  7808. esthetic value of    the images times the cleverness of the algorithm
  7809. divided by the    size of the code.  Syn. {psychedelicware}.
  7810.  
  7811.    :dispress: vt.  [contraction of `Dissociated Press' due to
  7812. eight-character MS-DOS filenames] To apply the {Dissociated Press}
  7813. algorithm to a block of text. The resultant output is also referred to
  7814.  as a 'dispression'.
  7815.  
  7816.    :Dissociated Press: n.  [play on `Associated Press'; perhaps
  7817. inspired by a reference in the 1950 Bugs Bunny cartoon    "What's Up,
  7818. Doc?"] An algorithm for transforming any text    into potentially
  7819. humorous garbage even more efficiently than by    passing it through a
  7820. {marketroid}.  The algorithm starts by    printing any N consecutive
  7821. words (or letters) in the text.     Then at every step it searches for
  7822. any random occurrence in the    original text of the last N words (or
  7823. letters) already    printed and then prints the next word or letter.
  7824. {EMACS} has a    handy command for this.  Here is a short example of
  7825. word-based    Dissociated Press applied to an earlier version of this
  7826. Jargon    File:
  7827.  
  7828.      wart: n. A small, crocky {feature} that sticks out of an array (C
  7829.      has no checks for this).  This is relatively benign and easy to
  7830.      spot if the phrase is bent so as to be not worth paying attention
  7831.      to the medium in question.
  7832.  
  7833.    Here is a short example of letter-based Dissociated Press applied
  7834. to the same source:
  7835.  
  7836.      window sysIWYG: n. A bit was named aften /bee't*/ prefer to use
  7837.      the other guy's re, especially in every cast a chuckle on neithout
  7838.      getting into useful informash speech makes removing a featuring a
  7839.      move or usage actual abstractionsidered interj. Indeed spectace
  7840.      logic or problem!
  7841.  
  7842.    A hackish idle pastime is to apply letter-based Dissociated Press
  7843. to a random body of text and {vgrep} the output in hopes of finding
  7844. an interesting new word.  (In the preceding example, `window
  7845. sysIWYG' and `informash' show some promise.)  Iterated applications
  7846. of Dissociated Press usually yield better results.  Similar
  7847. techniques called `travesty generators' have been employed with
  7848. considerable satirical effect to the utterances of Usenet flamers;
  7849. see {pseudo}.
  7850.  
  7851.    :distribution: n.  1. A software source tree packaged for
  7852. distribution; but see {kit}.  2. A vague term encompassing    mailing
  7853. lists and Usenet newsgroups (but not {BBS} {fora});    any
  7854. topic-oriented message channel with multiple recipients.  3. An
  7855. information-space domain (usually loosely correlated with    geography)
  7856. to which propagation of a Usenet message is restricted;    a
  7857. much-underutilized feature.
  7858.  
  7859.    :disusered: adj.  [Usenet] Said of a person whose account on a
  7860. computer has been removed, esp. for cause rather than through    normal
  7861. attrition.  "He got disusered when they found out he'd been    cracking
  7862. through the school's Internet access."  The verbal form    `disuser' is
  7863. live but less common.  Both usages probably derive    from the DISUSER
  7864. account status flag on VMS; setting it disables    the account.
  7865. Compare {star out}.
  7866.  
  7867.    :do protocol: vi.  [from network protocol programming] To    perform
  7868. an interaction with somebody or something that follows a    clearly
  7869. defined procedure.  For example, "Let's do protocol with    the check"
  7870. at a restaurant means to ask for the check, calculate    the tip and
  7871. everybody's share, collect money from everybody,    generate change as
  7872. necessary, and pay the bill.  See {protocol}.
  7873.  
  7874.    :doc: /dok/ n.  Common spoken and written shorthand for
  7875. `documentation'.  Often used in the plural `docs' and in the
  7876. construction `doc file' (i.e., documentation available on-line).
  7877.  
  7878.    :documentation:: n.  The multiple kilograms of macerated,
  7879. pounded, steamed, bleached, and pressed trees that accompany most
  7880. modern software or hardware products (see also {tree-killer}).
  7881. Hackers seldom read paper documentation and (too) often resist
  7882. writing it; they prefer theirs to be terse and on-line.  A common
  7883. comment on this predilection is "You can't {grep} dead trees".     See
  7884. {drool-proof paper}, {verbiage}, {treeware}.
  7885.  
  7886.    :dodgy: adj.  Syn. with {flaky}.  Preferred outside the    U.S.
  7887.  
  7888.    :dogcow: /dog'kow/ n.  See {Moof}.  The dogcow is a
  7889. semi-legendary creature that lurks in the depths of the Macintosh
  7890. Technical Notes Hypercard stack V3.1.  The full story of the dogcow
  7891. is told in technical note #31 (the particular dogcow illustrated is
  7892. properly named `Clarus').  Option-shift-click will cause it to emit
  7893. a characteristic `Moof!' or `!fooM' sound.  _Getting_ to tech    note
  7894. 31 is the hard part; to discover how to do that, one must    needs
  7895. examine the stack script with a hackerly eye.  Clue:    {rot13} is
  7896. involved.  A dogcow also appears if you choose `Page    Setup...' with
  7897. a LaserWriter selected and click on the    `Options' button.  It also
  7898. lurks in other Mac printer drivers,    notably those for the
  7899. now-discontinued Style Writers.
  7900.  
  7901.    :dogfood: n.  [Microsoft, Netscape] Interim software used
  7902. internally for testing.  "To eat one's own dogfood" (from which    the
  7903. slang noun derives) means to use the software one is    developing, as
  7904. part of one's everyday development environment (the    phrase is used
  7905. outside Microsoft and Netscape). The practice is    normal in the Linux
  7906. community and elsewhere, but the term    `dogfood' is seldom used as
  7907. open-source betas tend to be quite    tasty and nourishing.  The idea
  7908. is that developers who are using    their own software will quickly
  7909. learn what's missing or broken.     Dogfood is typically not even of
  7910. {beta} quality.
  7911.  
  7912.    :dogpile: v.  [Usenet: prob. fr. mainstream "puppy pile"]    When
  7913. many people post unfriendly responses in short order to a    single
  7914. posting, they are sometimes said to "dogpile" or "dogpile    on" the
  7915. person to whom they're responding.  For example, when a    religious
  7916. missionary posts a simplistic appeal to alt.atheism,    he can expect
  7917. to be dogpiled.  It has been suggested that this    derives from U.S,
  7918. football slang for a tackle involving three or    more people.
  7919.  
  7920.    :dogwash: /dog'wosh/  [From a quip in the `urgency' field    of a
  7921. very optional software change request, ca. 1982.  It was    something
  7922. like "Urgency: Wash your dog first".] 1. n. A project    of minimal
  7923. priority, undertaken as an escape from more serious    work.  2. v.  To
  7924. engage in such a project.  Many games and much    {freeware} get
  7925. written this way.
  7926.  
  7927.    :domainist: /doh-mayn'ist/ adj.  1. [Usenet, by pointed    analogy
  7928. with "sexist", "racist", etc.] Someone who judges    people by the
  7929. domain of their email addresses; esp. someone who    dismisses anyone
  7930. who posts from a public internet provider. "What    do you expect from
  7931. an article posted from aol.com?"  2. Said of an    {{Internet address}}
  7932. (as opposed to a {bang path}) because the    part to the right of the
  7933. `@' specifies a nested series of    `domains'; for example,
  7934. <esr@snark.thyrsus.com> specifies    the machine called snark in the
  7935. subdomain called thyrsus    within the top-level domain called com.
  7936. See also    {big-endian}, sense 2.
  7937.  
  7938.    The meaning of this term has drifted.  At one time sense 2 was
  7939. primary.  In elder days it was also used of a site, mailer, or
  7940. routing program which knew how to handle domainist addresses; or of
  7941. a person (esp. a site admin) who preferred domain addressing,
  7942. supported a domainist mailer, or proselytized for domainist
  7943. addressing and disdained {bang path}s.  These senses are now    (1996)
  7944. obsolete, as effectively all sites have converted.
  7945.  
  7946.    :Don't do that then!: imp.  [from an old doctor's office joke
  7947. about a patient with a trivial complaint] Stock response to a user
  7948. complaint.  "When I type control-S, the whole system comes to a    halt
  7949. for thirty seconds."  "Don't do that, then!" (or "So don't    do
  7950. that!").  Compare {RTFM}.
  7951.  
  7952.    :dongle: /dong'gl/ n.  1. A security or {copy protection}    device
  7953. for commercial microcomputer programs consisting of a    serialized
  7954. EPROM and some drivers in a D-25 connector shell, which    must be
  7955. connected to an I/O port of the computer while the program    is run.
  7956. Programs that use a dongle query the port at startup and    at
  7957. programmed intervals thereafter, and terminate if it does not
  7958. respond with the dongle's programmed validation code.  Thus, users
  7959. can make as many copies of the program as they want but must pay    for
  7960. each dongle.  The idea was clever, but it was initially a    failure,
  7961. as users disliked tying up a serial port this way.  Almost    all
  7962. dongles on the market today (1993) will pass data through the    port
  7963. and monitor for {magic} codes (and combinations of status    lines)
  7964. with minimal if any interference with devices further down    the line
  7965. -- this innovation was necessary to allow daisy-chained    dongles for
  7966. multiple pieces of software.  The devices are still not    widely used,
  7967. as the industry has moved away from copy-protection    schemes in
  7968. general.  2. By extension, any physical electronic key    or
  7969. transferable ID required for a program to function.  Common
  7970. variations on this theme have used parallel or even joystick ports.
  7971. See {dongle-disk}.
  7972.  
  7973.    [Note: in early 1992, advertising copy from Rainbow Technologies (a
  7974.  manufacturer of dongles) included a claim that the word derived
  7975. from "Don Gall", allegedly the inventor of the device.  The
  7976. company's receptionist will cheerfully tell you that the story is a
  7977. myth invented for the ad copy.  Nevertheless, I expect it to haunt
  7978. my life as a lexicographer for at least the next ten years. :-(
  7979. --ESR]
  7980.  
  7981.    :dongle-disk: /don'gl disk/ n.  A special floppy disk that    is
  7982. required in order to perform some task.  Some contain special    coding
  7983. that allows an application to identify it uniquely, others    _are_
  7984. special code that does something that normally-resident    programs
  7985. don't or can't.  (For example, AT&T's "Unix PC" would    only come up
  7986. in {root mode} with a special boot disk.)  Also    called a `key disk'.
  7987. See {dongle}.
  7988.  
  7989.    :donuts: n. obs.  A collective noun for any set of memory bits.
  7990. This usage is extremely archaic and may no longer be live jargon;    it
  7991. dates from the days of ferrite-{core} memories in which each    bit was
  7992. implemented by a doughnut-shaped magnetic flip-flop.
  7993.  
  7994.    :doorstop: n.  Used to describe equipment that is    non-functional
  7995. and halfway expected to remain so, especially    obsolete equipment
  7996. kept around for political reasons or ostensibly    as a backup.  "When
  7997. we get another Wyse-50 in here, that ADM 3    will turn into a
  7998. doorstop."  Compare {boat anchor}.
  7999.  
  8000.    :DoS attack: //  [Usenet] Abbreviation for Denial-Of-Service
  8001. attack.  This abbreviation is most often used of attempts to shut
  8002. down newsgroups with floods of {spam}.
  8003.  
  8004.    :dot file: [Unix] n.  A file that is not visible by default to
  8005. normal directory-browsing tools (on Unix, files named with a    leading
  8006. dot are, by convention, not normally presented in directory
  8007. listings).  Many programs define one or more dot files in which
  8008. startup or configuration information may be optionally recorded; a
  8009. user can customize the program's behavior by creating the
  8010. appropriate file in the current or home directory.  (Therefore, dot
  8011. files tend to {creep} -- with every nontrivial application    program
  8012. defining at least one, a user's home directory can be    filled with
  8013. scores of dot files, of course without the user's    really being aware
  8014. of it.)  See also {profile} (sense 1), {rc    file}.
  8015.  
  8016.    :double bucky: adj.  Using both the CTRL and META keys.  "The
  8017. command to burn all LEDs is double bucky F."
  8018.  
  8019.    This term originated on the Stanford extended-ASCII keyboard, and
  8020. was later taken up by users of the {space-cadet keyboard} at    MIT.  A
  8021. typical MIT comment was that the Stanford {bucky bits}    (control and
  8022. meta shifting keys) were nice, but there weren't    enough of them; you
  8023. could type only 512 different characters on a    Stanford keyboard.  An
  8024. obvious way to address this was simply to    add more shifting keys,
  8025. and this was eventually done; but a    keyboard with that many shifting
  8026. keys is hard on touch-typists, who    don't like to move their hands
  8027. away from the home position on the    keyboard.  It was half-seriously
  8028. suggested that the extra shifting    keys be implemented as pedals;
  8029. typing on such a keyboard would be    very much like playing a full
  8030. pipe organ.  This idea is mentioned    in a parody of a very fine song
  8031. by Jeffrey Moss called    "Rubber Duckie", which was published in "The
  8032. Sesame    Street Songbook" (Simon and Schuster 1971, ISBN
  8033. 0-671-21036-X).     These lyrics were written on May 27, 1978, in
  8034. celebration of the    Stanford keyboard:
  8035.  
  8036.                  Double Bucky
  8037.  
  8038.          Double bucky, you're the one!
  8039.          You make my keyboard lots of fun.
  8040.              Double bucky, an additional bit or two:
  8041.          (Vo-vo-de-o!)
  8042.          Control and meta, side by side,
  8043.          Augmented ASCII, nine bits wide!
  8044.              Double bucky!  Half a thousand glyphs, plus a few!
  8045.              Oh,
  8046.              I sure wish that I
  8047.              Had a couple of
  8048.                  Bits more!
  8049.              Perhaps a
  8050.              Set of pedals to
  8051.              Make the number of
  8052.                  Bits four:
  8053.              Double double bucky!
  8054.          Double bucky, left and right
  8055.          OR'd together, outta sight!
  8056.              Double bucky, I'd like a whole word of
  8057.              Double bucky, I'm happy I heard of
  8058.              Double bucky, I'd like a whole word of you!
  8059.  
  8060.          --- The Great Quux (with apologies to Jeffrey Moss)
  8061.  
  8062.    [This, by the way, is an excellent example of computer {filk}
  8063. --ESR]  See also {meta bit}, {cokebottle}, and {quadruple    bucky}.
  8064.  
  8065.    :doubled sig: [Usenet] n.  A {sig block} that has been    included
  8066. twice in a {Usenet} article or, less commonly, in an    electronic mail
  8067. message.  An article or message with a doubled sig    can be caused by
  8068. improperly configured software.  More often,    however, it reveals the
  8069. author's lack of experience in electronic    communication.  See
  8070. {B1FF}, {pseudo}.
  8071.  
  8072.    :down:  1. adj. Not operating.  "The up escalator is down"    is
  8073. considered a humorous thing to say (unless of course you were
  8074. expecting to use it), and "The elevator is down" always means    "The
  8075. elevator isn't working" and never refers to what floor the    elevator
  8076. is on.  With respect to computers, this term has passed    into the
  8077. mainstream; the extension to other kinds of machine is    still
  8078. confined to techies (e.g. boiler mechanics may speak of a    boiler
  8079. being down).  2. `go down' vi. To stop functioning;    usually said of
  8080. the {system}.  The message from the {console}    that every hacker
  8081. hates to hear from the operator is "System going    down in 5 minutes".
  8082. 3. `take down', `bring down' vt. To    deactivate purposely, usually
  8083. for repair work or {PM}.  "I'm    taking the system down to work on
  8084. that bug in the tape drive."     Occasionally one hears the word `down'
  8085. by itself used as a verb    in this vt. sense.  See {crash}; oppose
  8086. {up}.
  8087.  
  8088.    :download: vt.  To transfer data or (esp.) code from a    larger
  8089. `host' system (esp. a {mainframe}) over a digital    comm link to a
  8090. smaller `client' system, esp. a microcomputer    or specialized
  8091. peripheral.  Oppose {upload}.
  8092.  
  8093.    However, note that ground-to-space communications has its own usage
  8094.  rule for this term.  Space-to-earth transmission is always `down'
  8095. and the reverse `up' regardless of the relative size of the
  8096. computers involved.  So far the in-space machines have invariably
  8097. been smaller; thus the upload/download distinction has been    reversed
  8098. from its usual sense.
  8099.  
  8100.    :DP: /D-P/ n.  1. Data Processing.  Listed here because,
  8101. according to hackers, use of the term marks one immediately as a
  8102. {suit}.  See {DPer}.  2. Common abbrev for {Dissociated    Press}.
  8103.  
  8104.    :DPB: /d*-pib'/ vt.  [from the PDP-10 instruction set] To    plop
  8105. something down in the middle.  Usage: silly.  "DPB yourself    into
  8106. that couch there."  The connotation would be that the couch    is full
  8107. except for one slot just big enough for one last person to    sit in.
  8108. DPB means `DePosit Byte', and was the name of a PDP-10    instruction
  8109. that inserts some bits into the middle of some other    bits.  Hackish
  8110. usage has been kept alive by the Common LISP    function of the same
  8111. name.
  8112.  
  8113.    :DPer: /dee-pee-er/ n.  Data Processor.  Hackers are    absolutely
  8114. amazed that {suit}s use this term self-referentially.     _Computers_
  8115. process data, not people!  See {DP}.
  8116.  
  8117.    :Dr. Fred Mbogo: /*m-boh'goh, dok'tr fred/ n.     [Stanford] The
  8118. archetypal man you don't want to see about a    problem, esp. an
  8119. incompetent professional; a shyster.  "Do you    know a good eye
  8120. doctor?"  "Sure, try Mbogo Eye Care and    Professional Dry Cleaning."
  8121. The name comes from synergy between    {bogus} and the original Dr.
  8122. Mbogo, a witch doctor who was Gomez    Addams' physician on the old
  8123. "Addams Family" TV show.     Compare {Bloggs Family} and {J. Random
  8124. Hacker}; see also    {Fred Foobar} and {fred}.
  8125.  
  8126.    :dragon: n.  [MIT] A program similar to a {daemon}, except    that
  8127. it is not invoked at all, but is instead used by the system to
  8128. perform various secondary tasks.  A typical example would be an
  8129. accounting program, which keeps track of who is logged in,
  8130. accumulates load-average statistics, etc.  Under ITS, many    terminals
  8131. displayed a list of people logged in, where they were,    what they
  8132. were running, etc., along with some random picture (such    as a
  8133. unicorn, Snoopy, or the Enterprise), which was generated by    the
  8134. `name dragon'.  Usage: rare outside MIT -- under Unix and most    other
  8135. OSes this would be called a `background demon' or    {daemon}.  The
  8136. best-known Unix example of a dragon is    `cron(1)'.  At SAIL, they
  8137. called this sort of thing a    `phantom'.
  8138.  
  8139.    :Dragon Book: n.  The classic text "Compilers:    Principles,
  8140. Techniques and Tools", by Alfred V. Aho, Ravi Sethi,    and Jeffrey D.
  8141. Ullman (Addison-Wesley 1986; ISBN 0-201-10088-6),    so called because
  8142. of the cover design featuring a dragon labeled    `complexity of
  8143. compiler design' and a knight bearing the lance    `LALR parser
  8144. generator' among his other trappings.  This one is    more specifically
  8145. known as the `Red Dragon Book' (1986); an earlier    edition, sans
  8146. Sethi and titled "Principles Of Compiler Design"    (Alfred V. Aho and
  8147. Jeffrey D. Ullman; Addison-Wesley, 1977; ISBN    0-201-00022-9), was
  8148. the `Green Dragon Book' (1977).  (Also `New    Dragon Book', `Old
  8149. Dragon Book'.)  The horsed knight and the    Green Dragon were warily
  8150. eying each other at a distance; now the    knight is typing (wearing
  8151. gauntlets!) at a terminal showing a    video-game representation of the
  8152. Red Dragon's head while the rest    of the beast extends back in normal
  8153. space.  See also {{book    titles}}.
  8154.  
  8155.    :drain: v.  [IBM] Syn. for {flush} (sense 2).  Has a    connotation
  8156. of finality about it; one speaks of draining a device    before taking
  8157. it offline.
  8158.  
  8159.    :dread high-bit disease: n.  A condition endemic to some
  8160. now-obsolete computers and peripherals (including ASR-33 teletypes
  8161. and PRIME minicomputers) that results in all characters having    their
  8162. high (0x80) bit forced on.  This of course makes transporting    files
  8163. to other systems much more difficult, not to mention the    problems
  8164. these machines have talking with true 8-bit devices.
  8165.  
  8166.    This term was originally used specifically of PRIME (a.k.a.  PR1ME)
  8167.  minicomputers.  Folklore has it that PRIME adopted the reversed-8-bit
  8168.   convention in order to save 25 cents per serial line per machine;
  8169. PRIME old-timers, on the other hand, claim they inherited the
  8170. disease from Honeywell via customer NASA's compatibility
  8171. requirements and struggled heroically to cure it.  Whoever was
  8172. responsible, this probably qualifies as one of the most    {cretinous}
  8173. design tradeoffs ever made.  See {meta bit}.
  8174.  
  8175.    :Dread Questionmark Disease:  n. The result of saving HTML    from
  8176. Microsoft Word or some other program that uses the nonstandard
  8177. Microsoft variant of Latin-1; the symptom is that various of those
  8178. nonstandard characters in positions 128-160 show up as
  8179. questionmarks.  The usual culprit is the misnamed `smart quotes'
  8180. feature in Microsoft Word.  For more details (and a program called
  8181. `demoroniser' that cleans up the mess) see
  8182. `http://www.fourmilab.ch/webtools/demoroniser/'.
  8183.  
  8184.    :DRECNET: /drek'net/ n.  [from Yiddish/German `dreck',    meaning
  8185. filth] Deliberate distortion of DECNET, a networking    protocol used
  8186. in the {VMS} community.  So called because {DEC}    helped write the
  8187. Ethernet specification and then (either stupidly    or as a malignant
  8188. customer-control tactic) violated that spec in    the design of DRECNET
  8189. in a way that made it incompatible.  See also    {connector conspiracy}.
  8190.  
  8191.    :driver: n.  1. The {main loop} of an event-processing    program;
  8192. the code that gets commands and dispatches them for    execution.  2.
  8193. [techspeak] In `device driver', code designed to    handle a particular
  8194. peripheral device such as a magnetic disk or    tape unit.  3. In the
  8195. TeX world and the computerized typesetting    world in general, a
  8196. program that translates some device-independent    or other common
  8197. format to something a real device can actually    understand.
  8198.  
  8199.    :droid: n.  [from `android', SF terminology for a humanoid    robot
  8200. of essentially biological (as opposed to    mechanical/electronic)
  8201. construction] A person (esp. a    low-level bureaucrat or
  8202. service-business employee) exhibiting most    of the following
  8203. characteristics: (a) naive trust in the wisdom of    the parent
  8204. organization or `the system'; (b) a blind-faith    propensity to
  8205. believe obvious nonsense emitted by authority figures    (or
  8206. computers!); (c) a rule-governed mentality, one unwilling or    unable
  8207. to look beyond the `letter of the law' in exceptional    situations;
  8208. (d) a paralyzing fear of official reprimand or worse if    Procedures
  8209. are not followed No Matter What; and (e) no interest in    doing
  8210. anything above or beyond the call of a very    narrowly-interpreted
  8211. duty, or in particular in fixing that which is    broken; an "It's not
  8212. my job, man" attitude.
  8213.  
  8214.    Typical droid positions include supermarket checkout assistant and
  8215. bank clerk; the syndrome is also endemic in low-level government
  8216. employees.  The implication is that the rules and official
  8217. procedures constitute software that the droid is executing;    problems
  8218. arise when the software has not been properly debugged.     The term
  8219. `droid mentality' is also used to describe the mindset    behind this
  8220. behavior. Compare {suit}, {marketroid}; see    {-oid}.
  8221.  
  8222.    In England there is equivalent mainstream slang; a `jobsworth' is
  8223. an obstructive, rule-following bureaucrat, often of the uniformed    or
  8224. suited variety.  Named for the habit of denying a reasonable    request
  8225. by sucking his teeth and saying "Oh no, guv, sorry I can't    help you:
  8226. that's more than my job's worth".
  8227.  
  8228.    :drool-proof paper: n.  Documentation that has been    obsessively
  8229. {dumbed down}, to the point where only a {cretin}    could bear to read
  8230. it, is said to have succumbed to the    `drool-proof paper syndrome' or
  8231. to have been `written on    drool-proof paper'.  For example, this is
  8232. an actual quote from    Apple's LaserWriter manual: "Do not expose your
  8233. LaserWriter to    open fire or flame."
  8234.  
  8235.    :drop on the floor: vt.  To react to an error condition by
  8236. silently discarding messages or other valuable data.  "The gateway
  8237. ran out of memory, so it just started dropping packets on the
  8238. floor."  Also frequently used of faulty mail and netnews relay    sites
  8239. that lose messages.  See also {black hole}, {bit    bucket}.
  8240.  
  8241.    :drop-ins: n.  [prob. by analogy with {drop-outs}]    Spurious
  8242. characters appearing on a terminal or console as a result    of line
  8243. noise or a system malfunction of some sort.  Esp. used    when these
  8244. are interspersed with one's own typed input.  Compare    {drop-outs},
  8245. sense 2.
  8246.  
  8247.    :drop-outs: n.  1. A variety of `power glitch' (see    {glitch});
  8248. momentary 0 voltage on the electrical mains.     2. Missing characters
  8249. in typed input due to software malfunction or    system saturation (one
  8250. cause of such behavior under Unix when a bad    connection to a modem
  8251. swamps the processor with spurious character    interrupts; see
  8252. {screaming tty}).  3. Mental glitches; used as a    way of describing
  8253. those occasions when the mind just seems to shut    down for a couple
  8254. of beats.  See {glitch}, {fried}.
  8255.  
  8256.    :drugged: adj.  (also `on drugs') 1. Conspicuously stupid,
  8257. heading toward {brain-damaged}.  Often accompanied by a    pantomime of
  8258. toking a joint.  2. Of hardware, very slow relative to    normal
  8259. performance.
  8260.  
  8261.    :drum: adj, n.  Ancient techspeak term referring to slow,
  8262. cylindrical magnetic media that were once state-of-the-art storage
  8263. devices.  Under BSD Unix the disk partition used for swapping is
  8264. still called `/dev/drum'; this has led to considerable humor    and not
  8265. a few straight-faced but utterly bogus `explanations'    getting
  8266. foisted on {newbie}s.  See also "{The Story of    Mel}" in Appendix A.
  8267.  
  8268.    :drunk mouse syndrome: n.  (also `mouse on drugs') A malady
  8269. exhibited by the mouse pointing device of some computers.  The
  8270. typical symptom is for the mouse cursor on the screen to move in
  8271. random directions and not in sync with the motion of the actual
  8272. mouse.  Can usually be corrected by unplugging the mouse and
  8273. plugging it back again.  Another recommended fix for optical mice    is
  8274. to rotate your mouse pad 90 degrees.
  8275.  
  8276.    At Xerox PARC in the 1970s, most people kept a can of copier
  8277. cleaner (isopropyl alcohol) at their desks.  When the steel ball on
  8278. the mouse had picked up enough {cruft} to be unreliable, the    mouse
  8279. was doused in cleaner, which restored it for a while.     However, this
  8280. operation left a fine residue that accelerated the    accumulation of
  8281. cruft, so the dousings became more and more    frequent.  Finally, the
  8282. mouse was declared `alcoholic' and sent    to the clinic to be dried
  8283. out in a CFC ultrasonic bath.
  8284.  
  8285.    :Duff's device: n.  The most dramatic use yet seen of {fall
  8286. through} in C, invented by Tom Duff when he was at Lucasfilm.
  8287. Trying to {bum} all the instructions he could out of an inner    loop
  8288. that copied data serially onto an output port, he decided to    unroll
  8289. it.  He then realized that the unrolled version could be    implemented
  8290. by _interlacing_ the structures of a switch and a    loop:
  8291.  
  8292.         register n = (count + 7) / 8;      /* count > 0 assumed */
  8293.  
  8294.         switch (count % 8)
  8295.         {
  8296.         case 0:        do {  *to = *from++;
  8297.         case 7:              *to = *from++;
  8298.         case 6:              *to = *from++;
  8299.         case 5:              *to = *from++;
  8300.         case 4:              *to = *from++;
  8301.         case 3:              *to = *from++;
  8302.         case 2:              *to = *from++;
  8303.         case 1:              *to = *from++;
  8304.                            } while (--n > 0);
  8305.         }
  8306.  
  8307. Shocking though it appears to all who encounter it for the first
  8308. time, the device is actually perfectly valid, legal C.  C's default
  8309. {fall through} in case statements has long been its most
  8310. controversial single feature; Duff observed that "This code forms
  8311. some sort of argument in that debate, but I'm not sure whether it's
  8312. for or against." Duff has discussed the device in detail at
  8313. `http://www.lysator.liu.se/c/duffs-device.html'.  Note    that the
  8314. omission of postfix `++' from `*to' was    intentional (though
  8315. confusing).  Duff's device can be used to    implement memory copy, but
  8316. the original aim was to copy values    serially into a magic IO
  8317. register.
  8318.  
  8319.    [For maximal obscurity, the outermost pair of braces above could be
  8320.  actually be removed -- GLS]
  8321.  
  8322.    :dumb terminal: n.  A terminal that is one step above a    {glass
  8323. tty}, having a minimally addressable cursor but no    on-screen editing
  8324. or other features normally supported by a    {smart terminal}.  Once
  8325. upon a time, when glass ttys were common    and addressable cursors
  8326. were something special, what is now called    a dumb terminal could
  8327. pass for a smart terminal.
  8328.  
  8329.    :dumbass attack: /duhm'as *-tak'/ n.  [Purdue] Notional    cause of
  8330. a novice's mistake made by the experienced, especially one    made
  8331. while running as {root} under Unix, e.g., typing `rm    -r *' or `mkfs'
  8332. on a mounted file system.  Compare {adger}.
  8333.  
  8334.    :dumbed down: adj.  Simplified, with a strong connotation of
  8335. _over_simplified.  Often, a {marketroid} will insist that    the
  8336. interfaces and documentation of software be dumbed down after    the
  8337. designer has burned untold gallons of midnight oil making it    smart.
  8338. This creates friction.  See {user-friendly}.
  8339.  
  8340.    :dump: n.  1. An undigested and voluminous mass of information
  8341. about a problem or the state of a system, especially one routed to
  8342. the slowest available output device (compare {core dump}), and    most
  8343. especially one consisting of hex or octal {runes}    describing the
  8344. byte-by-byte state of memory, mass storage, or some    file.  In {elder
  8345. days}, debugging was generally done by    `groveling over' a dump (see
  8346. {grovel}); increasing use of    high-level languages and interactive
  8347. debuggers has made such tedium    uncommon, and the term `dump' now has
  8348. a faintly archaic flavor.     2. A backup.  This usage is typical only
  8349. at large timesharing    installations.
  8350.  
  8351.    :dumpster diving: /dump'-ster di:'-ving/ n.  1. The practice    of
  8352. sifting refuse from an office or technical installation to    extract
  8353. confidential data, especially security-compromising    information
  8354. (`dumpster' is an Americanism for what is elsewhere    called a
  8355. `skip').  Back in AT&T's monopoly days, before paper    shredders
  8356. became common office equipment, phone phreaks (see    {phreaking}) used
  8357. to organize regular dumpster runs against    phone company plants and
  8358. offices.  Discarded and damaged copies of    AT&T internal manuals
  8359. taught them much.  The technique is still    rumored to be a favorite
  8360. of crackers operating against careless    targets.  2. The practice of
  8361. raiding the dumpsters behind buildings    where producers and/or
  8362. consumers of high-tech equipment are    located, with the expectation
  8363. (usually justified) of finding    discarded but still-valuable
  8364. equipment to be nursed back to health    in some hacker's den.
  8365. Experienced dumpster-divers not infrequently    accumulate basements
  8366. full of moldering (but still potentially    useful) {cruft}.
  8367.  
  8368.    :dup killer: /d[y]oop kill'r/ n.  [FidoNet] Software that is
  8369. supposed to detect and delete duplicates of a message that may have
  8370. reached the FidoNet system via different routes.
  8371.  
  8372.    :dup loop: /d[y]oop loop/ (also `dupe loop') n.  [FidoNet]    An
  8373. infinite stream of duplicated, near-identical messages on a    FidoNet
  8374. {echo}, the only difference being unique or mangled    identification
  8375. information applied by a faulty or incorrectly    configured system or
  8376. network gateway, thus rendering {dup    killer}s ineffective.  If such
  8377. a duplicate message eventually    reaches a system through which it has
  8378. already passed (with the    original identification information), all
  8379. systems passed on the way    back to that system are said to be
  8380. involved in a {dup loop}.
  8381.  
  8382.    :dusty deck: n.  Old software (especially applications) which    one
  8383. is obliged to remain compatible with, or to maintain ({DP}    types
  8384. call this `legacy code', a term hackers consider smarmy and
  8385. excessively reverent).  The term implies that the software in
  8386. question is a holdover from card-punch days.  Used esp. when
  8387. referring to old scientific and {number-crunching} software,    much of
  8388. which was written in FORTRAN and very poorly documented but    is
  8389. believed to be too expensive to replace.  See {fossil};    compare
  8390. {crawling horror}.
  8391.  
  8392.    :DWIM: /dwim/  [acronym, `Do What I Mean'] 1. adj. Able    to guess,
  8393. sometimes even correctly, the result intended when bogus    input was
  8394. provided.  2. n. obs. The BBNLISP/INTERLISP function    that attempted
  8395. to accomplish this feat by correcting many of the    more common
  8396. errors.  See {hairy}.  3. Occasionally, an    interjection hurled at a
  8397. balky computer, esp. when one senses one    might be tripping over
  8398. legalisms (see {legalese}).  4. Of a    person, someone whose
  8399. directions are incomprehensible and vague,    but who nevertheless has
  8400. the expectation that you will solve the    problem using the specific
  8401. method he/she has in mind.
  8402.  
  8403.    Warren Teitelman originally wrote DWIM to fix his typos and
  8404. spelling errors, so it was somewhat idiosyncratic to his style, and
  8405. would often make hash of anyone else's typos if they were
  8406. stylistically different.  Some victims of DWIM thus claimed that    the
  8407. acronym stood for `Damn Warren's Infernal Machine!'.
  8408.  
  8409.    In one notorious incident, Warren added a DWIM feature to the
  8410. command interpreter used at Xerox PARC.  One day another hacker
  8411. there typed `delete *$' to free up some disk space.  (The    editor
  8412. there named backup files by appending `$' to the    original file name,
  8413. so he was trying to delete any backup files    left over from old
  8414. editing sessions.)  It happened that there    weren't any editor backup
  8415. files, so DWIM helpfully reported    `*$ not found, assuming you meant
  8416. 'delete *'.' It then started    to delete all the files on the disk!
  8417. The hacker managed to stop it    with a {Vulcan nerve pinch} after only
  8418. a half dozen or so files    were lost.
  8419.  
  8420.    The disgruntled victim later said he had been sorely tempted to go
  8421. to Warren's office, tie Warren down in his chair in front of his
  8422. workstation, and then type `delete *$' twice.
  8423.  
  8424.    DWIM is often suggested in jest as a desired feature for a complex
  8425. program; it is also occasionally described as the single
  8426. instruction the ideal computer would have.  Back when proofs of
  8427. program correctness were in vogue, there were also jokes about
  8428. `DWIMC' (Do What I Mean, Correctly).  A related term, more often
  8429. seen as a verb, is DTRT (Do The Right Thing); see {Right Thing}.
  8430.  
  8431.    :dynner: /din'r/ n.  32 bits, by analogy with {nybble} and
  8432. {{byte}}.  Usage: rare and extremely silly.  See also {playte},
  8433. {tayste}, {crumb}.  General discussion of such terms is under
  8434. {nybble}.
  8435.  
  8436. = E =
  8437. =====
  8438.  
  8439.    :earthquake: n.  [IBM] The ultimate real-world shock test for
  8440. computer hardware.  Hackish sources at IBM deny the rumor that the
  8441. Bay Area quake of 1989 was initiated by the company to test
  8442. quality-assurance procedures at its California plants.
  8443.  
  8444.    :Easter egg: n.  [from the custom of the Easter Egg hunt    observed
  8445. in the U.S. and many parts of Europe] 1. A message hidden    in the
  8446. object code of a program as a joke, intended to be found by    persons
  8447. disassembling or browsing the code.  2. A message, graphic,    or sound
  8448. effect emitted by a program (or, on a PC, the BIOS ROM) in    response
  8449. to some undocumented set of commands or keystrokes,    intended as a
  8450. joke or to display program credits.  One well-known    early Easter egg
  8451. found in a couple of OSes caused them to respond    to the command
  8452. `make love' with `not war?'.  Many    personal computers have much more
  8453. elaborate eggs hidden in ROM,    including lists of the developers'
  8454. names, political exhortations,    snatches of music, and (in one case)
  8455. graphics images of the entire    development team.
  8456.  
  8457.    :Easter egging: n.  [IBM] The act of replacing unrelated
  8458. components more or less at random in hopes that a malfunction will
  8459. go away.  Hackers consider this the normal operating mode of    {field
  8460. circus} techs and do not love them for it.  See also the    jokes under
  8461. {field circus}.  Compare {shotgun debugging}.
  8462.  
  8463.    :eat flaming death: imp.  A construction popularized among
  8464. hackers by the infamous {CPU Wars} comic; supposedly derive from    a
  8465. famously turgid line in a WWII-era anti-Nazi propaganda comic    that
  8466. ran "Eat flaming death, non-Aryan mongrels!" or something    of the
  8467. sort (however, it is also reported that the Firesign    Theatre's 1975
  8468. album "In The Next World, You're On Your Own"    a character won the
  8469. right to scream "Eat flaming death, fascist    media pigs" in the
  8470. middle of Oscar night on a game show; this may    have been an
  8471. influence).  Used in humorously overblown expressions    of hostility.
  8472. "Eat flaming death, {{EBCDIC}} users!"
  8473.  
  8474.    :EBCDIC:: /eb's*-dik/, /eb'see`dik/, or /eb'k*-dik/ n.
  8475. [abbreviation, Extended Binary Coded Decimal Interchange Code] An
  8476. alleged character set used on IBM {dinosaur}s.  It exists in at
  8477. least six mutually incompatible versions, all featuring such
  8478. delights as non-contiguous letter sequences and the absence of
  8479. several ASCII punctuation characters fairly important for modern
  8480. computer languages (exactly which characters are absent varies
  8481. according to which version of EBCDIC you're looking at).  IBM
  8482. adapted EBCDIC from {{punched card}} code in the early 1960s and
  8483. promulgated it as a customer-control tactic (see {connector
  8484. conspiracy}), spurning the already established ASCII standard.
  8485. Today, IBM claims to be an open-systems company, but IBM's own
  8486. description of the EBCDIC variants and how to convert between them
  8487. is still internally classified top-secret, burn-before-reading.
  8488. Hackers blanch at the very _name_ of EBCDIC and consider it a
  8489. manifestation of purest {evil}.  See also {fear and    loathing}.
  8490.  
  8491.    :echo: [FidoNet] n.  A {topic group} on {FidoNet}'s    echomail
  8492. system.  Compare {newsgroup}.
  8493.  
  8494.    :ECP: /E-C-P/ n.  See {spam} and {velveeta}.
  8495.  
  8496.    :egosurf: vi.  To search the net for your name or links    to your
  8497. web pages.  Perhaps connected to long-established SF-fan    slang
  8498. `egoscan', to search for one's name in a fanzine.
  8499.  
  8500.    :eighty-column mind: n.  [IBM] The sort said to be possessed by
  8501. persons for whom the transition from {punched card} to tape was
  8502. traumatic (nobody has dared tell them about disks yet).  It is said
  8503. that these people, including (according to an old joke) the founder
  8504. of IBM, will be buried `face down, 9-edge first' (the 9-edge being
  8505. the bottom of the card).  This directive is inscribed on IBM's 1402
  8506. and 1622 card readers and is referenced in a famous bit of doggerel
  8507. called "The Last Bug", the climactic lines of which are as    follows:
  8508.  
  8509.         He died at the console
  8510.         Of hunger and thirst.
  8511.         Next day he was buried,
  8512.         Face down, 9-edge first.
  8513.  
  8514. The eighty-column mind was thought by most hackers to dominate    IBM's
  8515. customer base and its thinking.  This only began to change in the
  8516. mid-1990s when IBM began to reinvent itself after the triumph of    the
  8517. {killer micro}.  See {IBM}, {fear and loathing},    {card walloper}.
  8518.  
  8519.    :El Camino Bignum: /el' k*-mee'noh big'nuhm/ n.  The road
  8520. mundanely called El Camino Real, running along San Francisco
  8521. peninsula.  It originally extended all the way down to Mexico City;
  8522. many portions of the old road are still intact.  Navigation on the
  8523. San Francisco peninsula is usually done relative to El Camino Real,
  8524. which defines {logical} north and south even though it isn't    really
  8525. north-south in many places.  El Camino Real runs right past    Stanford
  8526. University and so is familiar to hackers.
  8527.  
  8528.    The Spanish word `real' (which has two syllables: /ray-ahl'/)
  8529. means `royal'; El Camino Real is `the royal road'.  In the FORTRAN
  8530. language, a `real' quantity is a number typically precise to seven
  8531. significant digits, and a `double precision' quantity is a larger
  8532. floating-point number, precise to perhaps fourteen significant
  8533. digits (other languages have similar `real' types).
  8534.  
  8535.    When a hacker from MIT visited Stanford in 1976, he remarked what a
  8536.  long road El Camino Real was.  Making a pun on `real', he started
  8537. calling it `El Camino Double Precision' -- but when the hacker    was
  8538. told that the road was hundreds of miles long, he renamed it    `El
  8539. Camino Bignum', and that name has stuck.  (See {bignum}.)
  8540.  
  8541.    [GLS has since let slip that the unnamed hacker in this story was
  8542. in fact himself --ESR]
  8543.  
  8544.    In recent years, the synonym `El Camino Virtual' has been
  8545. reported as an alternate at IBM and Amdahl sites in the Valley.
  8546. Mathematically literate hackers in the Valley have also been heard
  8547. to refer to some major cross-street intersecting El Camino Real as
  8548. "El Camino Imaginary".  One popular theory is that the    intersection
  8549. is located near Moffett Field - where they keep all    those complex
  8550. planes.
  8551.  
  8552.    :elder days: n.  The heroic age of hackerdom (roughly,    pre-1980);
  8553. the era of the {PDP-10}, {TECO}, {{ITS}}, and the    ARPANET.  This
  8554. term has been rather consciously adopted from    J. R. R. Tolkien's
  8555. fantasy epic "The Lord of the Rings".     Compare {Iron Age}; see also
  8556. {elvish} and {Great Worm}.
  8557.  
  8558.    :elegant: adj.  [common; from mathematical usage]    Combining
  8559. simplicity, power, and a certain ineffable grace of    design.  Higher
  8560. praise than `clever', `winning', or even    {cuspy}.
  8561.  
  8562.    The French aviator, adventurer, and author Antoine de
  8563. Saint-Exupe'ry, probably best known for his classic children's    book
  8564. "The Little Prince", was also an aircraft designer.  He    gave us
  8565. perhaps the best definition of engineering elegance when he    said "A
  8566. designer knows he has achieved perfection not when there    is nothing
  8567. left to add, but when there is nothing left to take    away."
  8568.  
  8569.    :elephantine: adj.  Used of programs or systems that are both
  8570. conspicuous {hog}s (owing perhaps to poor design founded on    {brute
  8571. force and ignorance}) and exceedingly {hairy} in    source form.  An
  8572. elephantine program may be functional and even    friendly, but (as in
  8573. the old joke about being in bed with an    elephant) it's tough to have
  8574. around all the same (and, like a    pachyderm, difficult to maintain).
  8575. In extreme cases, hackers have    been known to make trumpeting sounds
  8576. or perform expressive    proboscatory mime at the mention of the
  8577. offending program.  Usage:    semi-humorous.  Compare `has the elephant
  8578. nature' and the    somewhat more pejorative {monstrosity}.  See also
  8579. {second-system effect} and {baroque}.
  8580.  
  8581.    :elevator controller: n.  An archetypal dumb embedded-systems
  8582. application, like {toaster} (which superseded it).  During one
  8583. period (1983-84) in the deliberations of ANSI X3J11 (the C
  8584. standardization committee) this was the canonical example of a
  8585. really stupid, memory-limited computation environment.  "You can't
  8586. require `printf(3)' to be part of the default runtime library    --
  8587. what if you're targeting an elevator controller?"  Elevator
  8588. controllers became important rhetorical weapons on both sides of
  8589. several {holy wars}.
  8590.  
  8591.    :elite: adj.  Clueful.  Plugged-in.  One of the    cognoscenti.
  8592. Also used as a general positive adjective.  This term    is not
  8593. actually hacker slang in the strict sense; it is used    primarily by
  8594. crackers and {warez d00dz}, for which reason    hackers use it only
  8595. with heavy irony.  The term used to    refer to the folks allowed in to
  8596. the "hidden" or "privileged"    sections of BBSes in the early 1980s
  8597. (which, typically, contained    pirated software). Frequently, early
  8598. boards would only let you    post, or even see, a certain subset of the
  8599. sections (or `boards')    on a BBS. Those who got to the frequently
  8600. legendary `triple super    secret' boards were elite. Misspellings of
  8601. this term in warez d00dz    style abound; the forms `eleet', and
  8602. `31337' (among others)    have been sighted.
  8603.  
  8604.    A true hacker would be more likely to use `wizardly'. Oppose
  8605. {lamer}.
  8606.  
  8607.    :ELIZA effect: /*-li:'z* *-fekt'/ n.  [AI community] The    tendency
  8608. of humans to attach associations to terms from prior    experience.
  8609. For example, there is nothing magic about the symbol    `+' that makes
  8610. it well-suited to indicate addition; it's just    that people associate
  8611. it with addition.  Using `+' or `plus'    to mean addition in a
  8612. computer language is taking advantage of the    ELIZA effect.
  8613.  
  8614.    This term comes from the famous ELIZA program by Joseph Weizenbaum,
  8615.  which simulated a Rogerian psychotherapist by rephrasing many of
  8616. the patient's statements as questions and posing them to the
  8617. patient.  It worked by simple pattern recognition and substitution
  8618. of key words into canned phrases.  It was so convincing, however,
  8619. that there are many anecdotes about people becoming very    emotionally
  8620. caught up in dealing with ELIZA.  All this was due to    people's
  8621. tendency to attach to words meanings which the computer    never put
  8622. there.  The ELIZA effect is a {Good Thing} when    writing a
  8623. programming language, but it can blind you to serious    shortcomings
  8624. when analyzing an Artificial Intelligence system.     Compare
  8625. {ad-hockery}; see also {AI-complete}.     Sources for a clone of the
  8626. original Eliza are available at
  8627. `ftp://ftp.cc.utexas.edu/pub/AI_ATTIC/Programs/Classic/Eliza/Eliza.c'.
  8628.  
  8629.    :elvish: n.  1. The Tengwar of Feanor, a table of letterforms
  8630. resembling the beautiful Celtic half-uncial hand of the "Book    of
  8631. Kells".  Invented and described by J. R. R. Tolkien in "The    Lord of
  8632. The Rings" as an orthography for his fictional `elvish'    languages,
  8633. this system (which is both visually and phonetically    {elegant}) has
  8634. long fascinated hackers (who tend to be intrigued    by artificial
  8635. languages in general).  It is traditional for    graphics printers,
  8636. plotters, window systems, and the like to    support a Feanorian
  8637. typeface as one of their demo items.  See also    {elder days}.  2. By
  8638. extension, any odd or unreadable typeface    produced by a graphics
  8639. device.  3. The typeface mundanely called    `Bo"cklin', an art-Noveau
  8640. display font.
  8641.  
  8642.    :EMACS: /ee'maks/ n.  [from Editing MACroS] The ne plus    ultra of
  8643. hacker editors, a programmable text editor with an entire    LISP
  8644. system inside it.  It was originally written by Richard    Stallman in
  8645. {TECO} under {{ITS}} at the MIT AI lab; AI Memo 554    described it as
  8646. "an advanced, self-documenting, customizable,    extensible real-time
  8647. display editor".  It has since been    reimplemented any number of
  8648. times, by various hackers, and versions    exist that run under most
  8649. major operating systems.  Perhaps the    most widely used version, also
  8650. written by Stallman and now called    "{GNU} EMACS" or {GNUMACS}, runs
  8651. principally under Unix.     (Its close relative XEmacs is the second
  8652. most popular version.)  It    includes facilities to run compilation
  8653. subprocesses and send and    receive mail or news; many hackers spend
  8654. up to 80% of their    {tube time} inside it.  Other variants include
  8655. {GOSMACS}, CCA    EMACS, UniPress EMACS, Montgomery EMACS, jove,
  8656. epsilon, and    MicroEMACS.  (Though we use the original all-caps
  8657. spelling here, it    is nowadays very commonly `Emacs'.)
  8658.  
  8659.    Some EMACS versions running under window managers iconify as an
  8660. overflowing kitchen sink, perhaps to suggest the one feature the
  8661. editor does not (yet) include.  Indeed, some hackers find EMACS too
  8662. {heavyweight} and {baroque} for their taste, and expand the    name as
  8663. `Escape Meta Alt Control Shift' to spoof its heavy reliance    on
  8664. keystrokes decorated with {bucky bits}.  Other spoof    expansions
  8665. include `Eight Megabytes And Constantly Swapping' (from    when that
  8666. was a lot of {core}), `Eventually `malloc()'s All    Computer Storage',
  8667. and `EMACS Makes A Computer Slow' (see    {{recursive acronym}}).  See
  8668. also {vi}.
  8669.  
  8670.    :email: /ee'mayl/  (also written `e-mail' and `E-mail')    1. n.
  8671. Electronic mail automatically passed through computer    networks
  8672. and/or via modems over common-carrier lines.  Contrast    {snail-mail},
  8673. {paper-net}, {voice-net}.  See {network    address}.  2. vt. To send
  8674. electronic mail.
  8675.  
  8676.    Oddly enough, the word `emailed' is actually listed in the OED;
  8677. it means "embossed (with a raised pattern) or perh. arranged in a
  8678. net or open work".  A use from 1480 is given. The word is probably
  8679. derived from French `e'maille'' (enameled) and related to Old    French
  8680. `emmailleu"re' (network).  A French correspondent tells    us that in
  8681. modern French, `email' is a hard enamel obtained by    heating special
  8682. paints in a furnace; an `emailleur' (no final e) is    a craftsman who
  8683. makes email (he generally paints some objects    (like, say, jewelry)
  8684. and cooks them in a furnace).
  8685.  
  8686.    There are numerous spelling variants of this word.  In Internet
  8687. traffic up to 1995, `email' predominates, `e-mail' runs a
  8688. not-too-distant second, and `E-mail' and `Email' are a distant    third
  8689. and fourth.
  8690.  
  8691.    :emoticon: /ee-moh'ti-kon/ n.  [common] An ASCII glyph    used to
  8692. indicate an emotional state in email or news.  Although    originally
  8693. intended mostly as jokes, emoticons (or some other    explicit humor
  8694. indication) are virtually required under certain    circumstances in
  8695. high-volume text-only communication forums such as    Usenet; the lack
  8696. of verbal and visual cues can otherwise cause what    were intended to
  8697. be humorous, sarcastic, ironic, or otherwise    non-100%-serious
  8698. comments to be badly misinterpreted (not always    even by {newbie}s),
  8699. resulting in arguments and {flame war}s.
  8700.  
  8701.    Hundreds of emoticons have been proposed, but only a few are in
  8702. common use.  These include:
  8703.  
  8704.     :-)
  8705.           `smiley face' (for humor, laughter, friendliness,
  8706.           occasionally sarcasm)
  8707.  
  8708.     :-(
  8709.           `frowney face' (for sadness, anger, or upset)
  8710.  
  8711.     ;-)
  8712.           `half-smiley' ({ha ha only serious}); also known as
  8713.           `semi-smiley' or `winkey face'.
  8714.  
  8715.     :-/
  8716.           `wry face'
  8717.  
  8718. (These may become more comprehensible if you tilt your head
  8719. sideways, to the left.)
  8720.  
  8721.    The first two listed are by far the most frequently encountered.
  8722. Hyphenless forms of them are common on CompuServe, GEnie, and BIX;
  8723. see also {bixie}.  On {Usenet}, `smiley' is often used as a    generic
  8724. term synonymous with {emoticon}, as well as specifically    for the
  8725. happy-face emoticon.
  8726.  
  8727.    It appears that the emoticon was invented by one Scott Fahlman on
  8728. the CMU {bboard} systems sometime between early 1981 and    mid-1982.
  8729. He later wrote: "I wish I had saved the original post,    or at least
  8730. recorded the date for posterity, but I had no idea that    I was
  8731. starting something that would soon pollute all the world's
  8732. communication channels."  [GLS confirms that he remembers this
  8733. original posting].
  8734.  
  8735.    Note for the {newbie}: Overuse of the smiley is a mark of
  8736. loserhood!  More than one per paragraph is a fairly sure sign that
  8737. you've gone over the line.
  8738.  
  8739.    :EMP: /E-M-P/  See {spam}.
  8740.  
  8741.    :empire: n.  Any of a family of military simulations derived    from
  8742. a game written by Peter Langston many years ago.  A number of
  8743. multi-player variants of varying degrees of sophistication exist,
  8744. and one single-player version implemented for both Unix and VMS;    the
  8745. latter is even available as MS-DOS freeware.  All are    notoriously
  8746. addictive.  Of various commercial derivatives the    best known is
  8747. probably "Empire Deluxe" on PCs and Amigas.
  8748.  
  8749.    Modern empire is a real-time wargame played over the internet    by
  8750. up to 120 players. Typical games last from 24 hours (blitz) to    a
  8751. couple of months (long term).  The amount of sleep you can get    while
  8752. playing is a function of the rate at which updates occur and    the
  8753. number of co-rulers of your country.  Empire server software is
  8754. available for unix-like machines, and clients for Unix and other
  8755. platforms.  A comprehensive history of the game is available at
  8756. `http://empire.idlpaper.com/infopages/History.html'.  The    Empire
  8757. resource site is at `http://empire.idlpaper.com/'.
  8758.  
  8759.    :engine: n.  1. A piece of hardware that encapsulates some
  8760. function but can't be used without some kind of {front end}.     Today
  8761. we have, especially, `print engine': the guts of a laser    printer.
  8762. 2. An analogous piece of software; notionally, one that    does a lot
  8763. of noisy crunching, such as a `database engine'.
  8764.  
  8765.    The hacker senses of `engine' are actually close to its original,
  8766. pre-Industrial-Revolution sense of a skill, clever device, or
  8767. instrument (the word is cognate to `ingenuity').  This sense had    not
  8768. been completely eclipsed by the modern connotation of
  8769. power-transducing machinery in Charles Babbage's time, which
  8770. explains why he named the stored-program computer that    he designed
  8771. in 1844 the `Analytical Engine'.
  8772.  
  8773.    :English:  1. n. obs. The source code for a program, which may    be
  8774. in any language, as opposed to the linkable or executable binary
  8775. produced from it by a compiler.  The idea behind the term is that    to
  8776. a real hacker, a program written in his favorite programming
  8777. language is at least as readable as English.  Usage: mostly by
  8778. old-time hackers, though recognizable in context.  2. The official
  8779. name of the database language used by the Pick Operating System,
  8780. actually a sort of crufty, brain-damaged SQL with delusions of
  8781. grandeur.  The name permits {marketroid}s to say "Yes, and you    can
  8782. program our computers in English!" to ignorant {suit}s    without quite
  8783. running afoul of the truth-in-advertising laws.
  8784.  
  8785.    :enhancement: n.  Common {marketroid}-speak for a bug    {fix}.
  8786. This abuse of language is a popular and time-tested way    to turn
  8787. incompetence into increased revenue.  A hacker being ironic    would
  8788. instead call the fix a {feature} -- or perhaps save some    effort by
  8789. declaring the bug itself to be a feature.
  8790.  
  8791.    :ENQ: /enkw/ or /enk/  [from the ASCII mnemonic ENQuire    for
  8792. 0000101] An on-line convention for querying someone's    availability.
  8793. After opening a {talk mode} connection to someone    apparently in
  8794. heavy hack mode, one might type `SYN SYN ENQ?'    (the SYNs
  8795. representing notional synchronization bytes), and expect    a return of
  8796. {ACK} or {NAK} depending on whether or not the    person felt
  8797. interruptible.  Compare {ping}, {finger}, and the    usage of `FOO?'
  8798. listed under {talk mode}.
  8799.  
  8800.    :EOF: /E-O-F/ n.  [abbreviation, `End Of File']    1. [techspeak]
  8801. The {out-of-band} value returned by C's    sequential character-input
  8802. functions (and their equivalents in    other environments) when end of
  8803. file has been reached.  This value    is usually -1 under C libraries
  8804. postdating V6 Unix, but was    originally 0.  DOS hackers think EOF is
  8805. ^Z, and a few Amiga hackers    think it's ^\.  2. [Unix] The keyboard
  8806. character (usually control-D,    the ASCII EOT (End Of Transmission)
  8807. character) that is mapped by    the terminal driver into an end-of-file
  8808. condition.  3. Used by    extension in non-computer contexts when a
  8809. human is doing something    that can be modeled as a sequential read
  8810. and can't go further.     "Yeah, I looked for a list of 360 mnemonics
  8811. to post as a joke, but    I hit EOF pretty fast; all the library had
  8812. was a {JCL} manual."     See also {EOL}.
  8813.  
  8814.    :EOL: /E-O-L/ n.  [End Of Line] Syn. for {newline},    derived
  8815. perhaps from the original CDC6600 Pascal.  Now rare, but    widely
  8816. recognized and occasionally used for brevity.  Used in the    example
  8817. entry under {BNF}.  See also {EOF}.
  8818.  
  8819.    :EOU: /E-O-U/ n.  The mnemonic of a mythical ASCII control
  8820. character (End Of User) that would make an ASR-33 Teletype explode
  8821. on receipt.  This construction parodies the numerous obscure
  8822. delimiter and control characters left in ASCII from the days when    it
  8823. was associated more with wire-service teletypes than computers
  8824. (e.g., FS, GS, RS, US, EM, SUB, ETX, and esp. EOT).  It is worth
  8825. remembering that ASR-33s were big, noisy mechanical beasts with a
  8826. lot of clattering parts; the notion that one might explode was
  8827. nowhere near as ridiculous as it might seem to someone sitting in
  8828. front of a {tube} or flatscreen today.
  8829.  
  8830.    :epoch: n.  [Unix: prob. from astronomical timekeeping] The    time
  8831. and date corresponding to 0 in an operating system's clock and
  8832. timestamp values.  Under most Unix versions the epoch is 00:00:00
  8833. GMT, January 1, 1970; under VMS, it's 00:00:00 of November 17, 1858
  8834. (base date of the U.S. Naval Observatory's ephemerides); on a
  8835. Macintosh, it's the midnight beginning January 1 1904.  System time
  8836. is measured in seconds or {tick}s past the epoch.  Weird    problems
  8837. may ensue when the clock wraps around (see {wrap    around}), which is
  8838. not necessarily a rare event; on systems    counting 10 ticks per
  8839. second, a signed 32-bit count of ticks is    good only for 6.8 years.
  8840. The 1-tick-per-second clock of Unix is    good only until January 18,
  8841. 2038, assuming at least some software    continues to consider it
  8842. signed and that word lengths don't    increase by then.  See also {wall
  8843. time}.  Microsoft Windows, on    the other hand, has an epoch problem
  8844. every 49.7 days - but this    is seldom noticed as Windows is almost
  8845. incapable of staying    up continuously for that long.
  8846.  
  8847.    :epsilon:  [see {delta}] 1. n. A small quantity of    anything.
  8848. "The cost is epsilon."  2. adj. Very small,    negligible; less than
  8849. {marginal}.  "We can get this feature for    epsilon cost."  3. `within
  8850. epsilon of': close enough to be    indistinguishable for all practical
  8851. purposes, even closer than    being `within delta of'.  "That's not
  8852. what I asked for, but it's    within epsilon of what I wanted."
  8853. Alternatively, it may mean not    close enough, but very little is
  8854. required to get it there: "My    program is within epsilon of working."
  8855.  
  8856.    :epsilon squared: n.  A quantity even smaller than    {epsilon}, as
  8857. small in comparison to epsilon as epsilon is to    something normal;
  8858. completely negligible.  If you buy a    supercomputer for a million
  8859. dollars, the cost of the    thousand-dollar terminal to go with it is
  8860. {epsilon}, and the    cost of the ten-dollar cable to connect them is
  8861. epsilon squared.     Compare {lost in the underflow}, {lost in the
  8862. noise}.
  8863.  
  8864.    :era: n.  Syn. {epoch}.  Webster's Unabridged makes these    words
  8865. almost synonymous, but `era' more often connotes a span of    time
  8866. rather than a point in time, whereas the reverse is true for
  8867. {epoch}.  The {epoch} usage is recommended.
  8868.  
  8869.    :Eric Conspiracy: n.  A shadowy group of mustachioed hackers
  8870. named Eric first pinpointed as a sinister conspiracy by an infamous
  8871. talk.bizarre posting ca. 1987; this was doubtless influenced    by the
  8872. numerous `Eric' jokes in the Monty Python oeuvre.  There    do indeed
  8873. seem to be considerably more mustachioed Erics in    hackerdom than the
  8874. frequency of these three traits can account for    unless they are
  8875. correlated in some arcane way.  Well-known examples    include Eric
  8876. Allman (he of the `Allman style' described under    {indent style}) and
  8877. Erik Fair (co-author of NNTP); your editor    has heard from more than
  8878. sixty others by email, and the organization    line `Eric Conspiracy
  8879. Secret Laboratories' now emanates regularly    from more than one site.
  8880. See the Eric Conspiracy Web Page at
  8881. `http://www.ccil.org/~esr/ecsl/' for full details.
  8882.  
  8883.    :Eris: /e'ris/ n.  The Greek goddess of Chaos, Discord,
  8884. Confusion, and Things You Know Not Of; her name was latinized to
  8885. Discordia and she was worshiped by that name in Rome.  Not a very
  8886. friendly deity in the Classical original, she was reinvented as a
  8887. more benign personification of creative anarchy starting in 1959 by
  8888. the adherents of {Discordianism} and has since been a    semi-serious
  8889. subject of veneration in several `fringe' cultures,    including
  8890. hackerdom.  See {Discordianism}, {Church of the    SubGenius}.
  8891.  
  8892.    :erotics: /ee-ro'tiks/ n.  [Helsinki University of    Technology,
  8893. Finland] n. English-language university slang for    electronics.
  8894. Often used by hackers in Helsinki, maybe because good    electronics
  8895. excites them and makes them warm.
  8896.  
  8897.    :error 33: [XEROX PARC] n.  1. Predicating one research effort
  8898. upon the success of another.  2. Allowing your own research effort
  8899. to be placed on the critical path of some other project (be it a
  8900. research effort or not).
  8901.  
  8902.    :eurodemo: /yoor'o-dem`-o/  a {demo}, sense 4
  8903.  
  8904.    :evil: adj.  As used by hackers, implies that some system,
  8905. program, person, or institution is sufficiently maldesigned as to    be
  8906. not worth the bother of dealing with.  Unlike the adjectives in    the
  8907. {cretinous}/{losing}/{brain-damaged} series, `evil'    does not imply
  8908. incompetence or bad design, but rather a set of    goals or design
  8909. criteria fatally incompatible with the speaker's.     This usage is
  8910. more an esthetic and engineering judgment than a    moral one in the
  8911. mainstream sense.  "We thought about adding a    {Blue Glue} interface
  8912. but decided it was too evil to deal    with."  "{TECO} is neat, but it
  8913. can be pretty evil if you're    prone to typos."  Often pronounced with
  8914. the first syllable    lengthened, as /eeee'vil/.  Compare {evil and
  8915. rude}.
  8916.  
  8917.    :evil and rude: adj.  Both {evil} and {rude}, but with    the
  8918. additional connotation that the rudeness was due to malice    rather
  8919. than incompetence.  Thus, for example: Microsoft's Windows    NT is
  8920. evil because it's a competent implementation of a bad    design; it's
  8921. rude because it's gratuitously incompatible with    Unix in places
  8922. where compatibility would have been as easy and    effective to do; but
  8923. it's evil and rude because the    incompatibilities are apparently
  8924. there not to fix design bugs in    Unix but rather to lock hapless
  8925. customers and developers into the    Microsoft way.  Hackish evil and
  8926. rude is close to the    mainstream sense of `evil'.
  8927.  
  8928.    :Evil Empire: n.  [from Ronald Reagan's famous    characterization
  8929. of the communist Soviet Union] Formerly {IBM},    now Microsoft.
  8930. Functionally, the company most hackers love to hate    at any given
  8931. time.  Hackers like to see themselves as romantic    rebels against the
  8932. Evil Empire, and frequently adopt this role    to the point of
  8933. ascribing rather more power and malice to the    Empire than it
  8934. actually has.  See also {Borg} and search for    Evil Empire
  8935. (http://pages.prodigy.net/rkusnery/amsind.html)    pages on the Web.
  8936.  
  8937.    :exa-: /ek's*/ pref.  [SI] See {{quantifiers}}.
  8938.  
  8939.    :examining the entrails: n.  The process of {grovel}ling    through
  8940. a {core dump} or hex image in an attempt to discover the    bug that
  8941. brought a program or system down.  The reference is to    divination
  8942. from the entrails of a sacrified animal.  Compare    {runes},
  8943. {incantation}, {black art}, {desk check}.
  8944.  
  8945.    :EXCH: /eks'ch*/ or /eksch/ vt.  To exchange two things,    each for
  8946. the other; to swap places.  If you point to two people    sitting down
  8947. and say "Exch!", you are asking them to trade    places.  EXCH, meaning
  8948. EXCHange, was originally the name of a    PDP-10 instruction that
  8949. exchanged the contents of a register and a    memory location.  Many
  8950. newer hackers are probably thinking instead    of the {{PostScript}}
  8951. exchange operator (which is usually written    in lowercase).
  8952.  
  8953.    :excl: /eks'kl/ n.  Abbreviation for `exclamation point'.     See
  8954. {bang}, {shriek}, {{ASCII}}.
  8955.  
  8956.    :EXE: /eks'ee/ or /eek'see/ or /E-X-E/ n.  An executable    binary
  8957. file.  Some operating systems (notably MS-DOS, VMS, and    TWENEX) use
  8958. the extension .EXE to mark such files.  This usage is    also
  8959. occasionally found among Unix programmers even though Unix
  8960. executables don't have any required suffix.
  8961.  
  8962.    :exec: /eg-zek'/ or /eks'ek/ vt., n.  1. [Unix: from    `execute']
  8963. Synonym for {chain}, derives from the    `exec(2)' call.  2. [from
  8964. `executive'] obs. The command    interpreter for an {OS} (see {shell});
  8965. term esp. used    around mainframes, and prob. derived from UNIVAC's
  8966. archaic EXEC 2    and EXEC 8 operating systems.  3. At IBM and VM/CMS
  8967. shops, the    equivalent of a shell command file (among VM/CMS users).
  8968.  
  8969.    The mainstream `exec' as an abbreviation for (human) executive is
  8970. _not_ used.  To a hacker, an `exec' is a always a program,    never a
  8971. person.
  8972.  
  8973.    :exercise, left as an: adj.  [from technical books] Used to
  8974. complete a proof when one doesn't mind a {handwave}, or to avoid    one
  8975. entirely.  The complete phrase is: "The proof [or `the rest']    is
  8976. left as an exercise for the reader."  This comment _has_
  8977. occasionally been attached to unsolved research problems by authors
  8978. possessed of either an evil sense of humor or a vast faith in the
  8979. capabilities of their audiences.
  8980.  
  8981.    :Exon: /eks'on/ excl.  A generic obscenity that quickly    entered
  8982. wide use on the Internet and Usenet after {Black    Thursday}. From the
  8983. last name of Senator James Exon    (Democrat-Nebraska), primary author
  8984. of the {CDA}.
  8985.  
  8986.    :Exploder: n.  Used within Microsoft to refer to the    Windows
  8987. Explorer, the interface component of Windows 95 and WinNT    4. Our
  8988. spies report that most of the heavy guns at MS came from a    Unix
  8989. background and use command line utilities; even they are    scornful of
  8990. the over-gingerbreaded {WIMP environment}s that they    have been
  8991. called upon to create.
  8992.  
  8993.    :exploit: n.  [originally cracker slang] 1. A vulnerability    in
  8994. software that can be used for breaking security or otherwise
  8995. attacking an Internet host over the network.  The {Ping O'    Death} is
  8996. a famous exploit. 2. More grammatically, a program that    exploits an
  8997. exploit in sense 1,
  8998.  
  8999.    :external memory: n.  A memo pad, palmtop computer, or written
  9000. notes.  "Hold on while I write that to external memory".  The
  9001. analogy is with store or DRAM versus nonvolatile disk storage on
  9002. computers.
  9003.  
  9004.    :eye candy:  /i:' kand`ee/ n.  [from mainstream slang    "ear
  9005. candy"] A display of some sort that's presented to {luser}s    to keep
  9006. them distracted while the program performs necessary    background
  9007. tasks.  "Give 'em some eye candy while the back-end    {slurp}s that
  9008. {BLOB} into core." Reported as mainstream    usage among players of
  9009. graphics-heavy computer games.
  9010.  
  9011.    :eyeball search: n.,v.  To look for something in a mass of    code
  9012. or data with one's own native optical sensors, as opposed to    using
  9013. some sort of pattern matching software like {grep} or any    other
  9014. automated search tool.  Also called a {vgrep}; compare    {vdiff},
  9015. {desk check}.
  9016.  
  9017. = F =
  9018. =====
  9019.  
  9020.    :face time: n.  [common] Time spent interacting with somebody
  9021. face-to-face (as opposed to via electronic links).  "Oh, yeah, I
  9022. spent some face time with him at the last Usenix."
  9023.  
  9024.    :factor: n.  See {coefficient of X}.
  9025.  
  9026.    :fall over: vi.  [IBM] Yet another synonym for {crash} or    {lose}.
  9027. `Fall over hard' equates to {crash and burn}.
  9028.  
  9029.    :fall through: v.  (n. `fallthrough', var.     `fall-through') 1. To
  9030. exit a loop by exhaustion, i.e., by having    fulfilled its exit
  9031. condition rather than via a break or exception    condition that exits
  9032. from the middle of it.  This usage appears to    be _really_ old,
  9033. dating from the 1940s and 1950s.  2. To fail    a test that would have
  9034. passed control to a subroutine or some other    distant portion of
  9035. code.  3. In C, `fall-through' occurs when the    flow of execution in
  9036. a switch statement reaches a `case' label    other than by jumping
  9037. there from the switch header, passing a point    where one would
  9038. normally expect to find a `break'.  A trivial    example:
  9039.  
  9040.      switch (color)
  9041.      {
  9042.      case GREEN:
  9043.         do_green();
  9044.         break;
  9045.      case PINK:
  9046.         do_pink();
  9047.         /* FALL THROUGH */
  9048.      case RED:
  9049.         do_red();
  9050.         break;
  9051.      default:
  9052.         do_blue();
  9053.         break;
  9054.      }
  9055.  
  9056. The variant spelling `/* FALL THRU */' is also common.
  9057.  
  9058.    The effect of the above code is to `do_green()' when color is
  9059. `GREEN', `do_red()' when color is `RED',    `do_blue()' on any other
  9060. color other than `PINK', and    (and this is the important part)
  9061. `do_pink()' _and then_    `do_red()' when color is `PINK'.
  9062. Fall-through is    {considered harmful} by some, though there are
  9063. contexts (such as    the coding of state machines) in which it is
  9064. natural; it is    generally considered good practice to include a
  9065. comment    highlighting the fall-through where one would normally
  9066. expect a    break.  See also {Duff's device}.
  9067.  
  9068.    :fan: n.  Without qualification, indicates a fan of science
  9069. fiction, especially one who goes to {con}s and tends to hang out
  9070. with other fans.  Many hackers are fans, so this term has been
  9071. imported from fannish slang; however, unlike much fannish slang it
  9072. is recognized by most non-fannish hackers.  Among SF fans the    plural
  9073. is correctly `fen', but this usage is not automatic to    hackers.
  9074. "Laura reads the stuff occasionally but isn't really a    fan."
  9075.  
  9076.    :fandango on core: n.  [Unix/C hackers, from the Iberian    dance]
  9077. In C, a wild pointer that runs out of bounds, causing a    {core dump},
  9078. or corrupts the `malloc(3)' {arena} in such    a way as to cause
  9079. mysterious failures later on, is sometimes said    to have `done a
  9080. fandango on core'.  On low-end personal machines    without an MMU,
  9081. this can corrupt the OS itself, causing massive    lossage.  Other
  9082. frenetic dances such as the rhumba, cha-cha, or    watusi, may be
  9083. substituted.  See {aliasing bug}, {precedence    lossage}, {smash the
  9084. stack}, {memory leak}, {memory    smash}, {overrun screw}, {core}.
  9085.  
  9086.    :FAQ: /F-A-Q/ or /fak/ n.  [Usenet] 1. A Frequently Asked
  9087. Question.  2. A compendium of accumulated lore, posted periodically
  9088. to high-volume newsgroups in an attempt to forestall such    questions.
  9089. Some people prefer the term `FAQ list' or `FAQL'    /fa'kl/, reserving
  9090. `FAQ' for sense 1.
  9091.  
  9092.    This lexicon itself serves as a good example of a collection of one
  9093.  kind of lore, although it is far too big for a regular FAQ
  9094. posting.  Examples: "What is the proper type of NULL?"  and    "What's
  9095. that funny name for the `#' character?" are both    Frequently Asked
  9096. Questions.  Several FAQs refer readers to    this file.
  9097.  
  9098.    :FAQ list: /F-A-Q list/ or /fak list/ n.  [common;    Usenet] Syn
  9099. {FAQ}, sense 2.
  9100.  
  9101.    :FAQL: /fa'kl/ n.  Syn. {FAQ list}.
  9102.  
  9103.    :faradize: /far'*-di:z/ v.  [US Geological Survey] To start any
  9104. hyper-addictive process or trend, or to continue adding current to
  9105. such a trend.  Telling one user about a new octo-tetris game you
  9106. compiled would be a faradizing act -- in two weeks you might find
  9107. your entire department playing the faradic game.
  9108.  
  9109.    :farkled: /far'kld/ adj.  [DeVry Institute of Technology,
  9110. Atlanta] Syn. {hosed}.  Poss. owes something to Yiddish
  9111. `farblondjet' and/or the `Farkle Family' skits on "Rowan    and
  9112. Martin's Laugh-In", a popular comedy show of the late 1960s.
  9113.  
  9114.    :farming: n.  [Adelaide University, Australia] What the heads    of
  9115. a disk drive are said to do when they plow little furrows in the
  9116. magnetic media.  Associated with a {crash}.  Typically used as
  9117. follows: "Oh no, the machine has just crashed; I hope the hard    drive
  9118. hasn't gone {farming} again." No longer common; modern    drives
  9119. automatically park their heads in a safe zone on    power-down, so it
  9120. takes a real mechanical problem to induce this.
  9121.  
  9122.    :fascist: adj.  1. [common] Said of a computer system with
  9123. excessive or annoying security barriers, usage limits, or access
  9124. policies.  The implication is that said policies are preventing
  9125. hackers from getting interesting work done.  The variant    `fascistic'
  9126. seems to have been preferred at MIT, poss. by analogy    with
  9127. `touristic' (see {tourist} or under the influence of    German/Yiddish
  9128. `faschistisch').  2. In the design of languages    and other software
  9129. tools, `the fascist alternative' is the most    restrictive and
  9130. structured way of capturing a particular function;    the implication
  9131. is that this may be desirable in order to simplify    the
  9132. implementation or provide tighter error checking.  Compare
  9133. {bondage-and-discipline language}, although that term is global
  9134. rather than local.
  9135.  
  9136.    :fat electrons: n.  Old-time hacker David Cargill's theory on    the
  9137. causation of computer glitches.  Your typical electric utility    draws
  9138. its line current out of the big generators with a pair of    coil taps
  9139. located near the top of the dynamo.  When the normal tap    brushes get
  9140. dirty, they take them off line to clean them up, and    use special
  9141. auxiliary taps on the _bottom_ of the coil.  Now,    this is a problem,
  9142. because when they do that they get not ordinary    or `thin' electrons,
  9143. but the fat'n'sloppy electrons that are    heavier and so settle to the
  9144. bottom of the generator.  These flow    down ordinary wires just fine,
  9145. but when they have to turn a sharp    corner (as in an
  9146. integrated-circuit via), they're apt to get stuck.     This is what
  9147. causes computer glitches.  [Fascinating.  Obviously,    fat electrons
  9148. must gain mass by {bogon} absorption --ESR]    Compare {bogon}, {magic
  9149. smoke}.
  9150.  
  9151.    :faulty: adj.  Non-functional; buggy.  Same denotation as
  9152. {bletcherous}, {losing}, q.v., but the connotation is much    milder.
  9153.  
  9154.    :fd leak: /F-D leek/ n.  A kind of programming bug analogous    to a
  9155. {core leak}, in which a program fails to close file    descriptors
  9156. (`fd's) after file operations are completed, and    thus eventually
  9157. runs out of them.  See {leak}.
  9158.  
  9159.    :fear and loathing: n.  [from Hunter S. Thompson] A state
  9160. inspired by the prospect of dealing with certain real-world systems
  9161. and standards that are totally {brain-damaged} but ubiquitous    --
  9162. Intel 8086s, or {COBOL}, or {{EBCDIC}}, or any {IBM}    machine bigger
  9163. than a workstation.  "Ack!  They want PCs to be    able to talk to the
  9164. AI machine.  Fear and loathing time!"
  9165.  
  9166.    :feature: n.  1. [common] A good property or behavior (as    of a
  9167. program).  Whether it was intended or not is immaterial.     2.
  9168. [common] An intended property or behavior (as of a program).
  9169. Whether it is good or not is immaterial (but if bad, it is also a
  9170. {misfeature}).  3. A surprising property or behavior; in    particular,
  9171. one that is purposely inconsistent because it works    better that way
  9172. -- such an inconsistency is therefore a    {feature} and not a {bug}.
  9173. This kind of feature is sometimes    called a {miswart}; see that entry
  9174. for a classic example.  4. A    property or behavior that is gratuitous
  9175. or unnecessary, though    perhaps also impressive or cute.  For
  9176. example, one feature of    Common LISP's `format' function is the
  9177. ability to print    numbers in two different Roman-numeral formats (see
  9178. {bells    whistles and gongs}).  5. A property or behavior that was put
  9179. in to    help someone else but that happens to be in your way.  6.
  9180. [common]    A bug that has been documented.  To call something a feature
  9181.   sometimes means the author of the program did not consider the
  9182. particular case, and that the program responded in a way that was
  9183. unexpected but not strictly incorrect.  A standard joke is that a
  9184. bug can be turned into a {feature} simply by documenting it    (then
  9185. theoretically no one can complain about it because it's in    the
  9186. manual), or even by simply declaring it to be good.  "That's    not a
  9187. bug, that's a feature!" is a common catchphrase.  See also    {feetch
  9188. feetch}, {creeping featurism}, {wart}, {green    lightning}.
  9189.  
  9190.    The relationship among bugs, features, misfeatures, warts, and
  9191. miswarts might be clarified by the following hypothetical exchange
  9192. between two hackers on an airliner:
  9193.  
  9194.    A: "This seat doesn't recline."
  9195.  
  9196.    B: "That's not a bug, that's a feature.  There is an emergency
  9197. exit door built around the window behind you, and the route has to
  9198. be kept clear."
  9199.  
  9200.    A: "Oh.  Then it's a misfeature; they should have increased the
  9201. spacing between rows here."
  9202.  
  9203.    B: "Yes.  But if they'd increased spacing in only one section it
  9204. would have been a wart -- they would've had to make
  9205. nonstandard-length ceiling panels to fit over the displaced    seats."
  9206.  
  9207.    A: "A miswart, actually.  If they increased spacing throughout
  9208. they'd lose several rows and a chunk out of the profit margin.  So
  9209. unequal spacing would actually be the Right Thing."
  9210.  
  9211.    B: "Indeed."
  9212.  
  9213.    `Undocumented feature' is a common, allegedly humorous euphemism
  9214. for a {bug}.  There's a related joke that is sometimes referred    to
  9215. as the "one-question geek test".  You say to someone "I saw a
  9216. Volkswagen Beetle today with a vanity license plate that read
  9217. FEATURE".  If he/she laughs, he/she is a geek (see {computer    geek},
  9218. sense 2).
  9219.  
  9220.    :feature creature: n.  [poss. fr. slang `creature feature'    for a
  9221. horror movie] 1. One who loves to add features to designs or
  9222. programs, perhaps at the expense of coherence, concision, or
  9223. {taste}.  2. Alternately, a mythical being that induces    otherwise
  9224. rational programmers to perpetrate such crocks.  See also    {feeping
  9225. creaturism}, {creeping featurism}.
  9226.  
  9227.    :feature creep: n.  [common] The result of {creeping    featurism},
  9228. as in "Emacs has a bad case of feature    creep".
  9229.  
  9230.    :feature key: n.  [common] The Macintosh key with the    cloverleaf
  9231. graphic on its keytop; sometimes referred to as    `flower', `pretzel',
  9232. `clover', `propeller', `beanie' (an    apparent reference to the major
  9233. feature of a propeller beanie),    {splat}, or the `command key'.  The
  9234. proliferation of terms for    this creature may illustrate one subtle
  9235. peril of iconic    interfaces.
  9236.  
  9237.    Many people have been mystified by the cloverleaf-like symbol that
  9238. appears on the feature key.  Its oldest name is `cross of St.
  9239. Hannes', but it occurs in pre-Christian Viking art as a decorative
  9240. motif.  Throughout Scandinavia today the road agencies use it to
  9241. mark sites of historical interest.  Apple picked up the symbol from
  9242. an early Mac developer who happened to be Swedish.  Apple
  9243. documentation gives the translation "interesting feature"!
  9244.  
  9245.    There is some dispute as to the proper (Swedish) name of this
  9246. symbol.  It technically stands for the word `seva"rdhet'
  9247. (interesting feature); many of these are old churches. Some Swedes
  9248. report as an idiom for it the word `kyrka', cognate to English
  9249. `church' and Scots-dialect `kirk' but pronounced /shir'k*/ in    modern
  9250. Swedish.  Others say this is nonsense.  Another idiom    reported for
  9251. the sign is `runsten' /roon'stn/, derived from    the fact that many of
  9252. the interesting features are Viking    rune-stones.
  9253.  
  9254.    :feature shock: n.  [from Alvin Toffler's book title    "Future
  9255. Shock"] A user's (or programmer's!) confusion when    confronted with a
  9256. package that has too many features and poor    introductory material.
  9257.  
  9258.    :featurectomy: /fee`ch*r-ek't*-mee/ n.  The act of removing    a
  9259. feature from a program.  Featurectomies come in two flavors, the
  9260. `righteous' and the `reluctant'.  Righteous featurectomies are
  9261. performed because the remover believes the program would be more
  9262. elegant without the feature, or there is already an equivalent and
  9263. better way to achieve the same end.  (Doing so is not quite the    same
  9264. thing as removing a {misfeature}.)  Reluctant    featurectomies are
  9265. performed to satisfy some external constraint    such as code size or
  9266. execution speed.
  9267.  
  9268.    :feep: /feep/  1. n. The soft electronic `bell' sound of a
  9269. display terminal (except for a VT-52); a beep (in fact, the
  9270. microcomputer world seems to prefer {beep}).  2. vi. To cause    the
  9271. display to make a feep sound.  ASR-33s (the original TTYs) do    not
  9272. feep; they have mechanical bells that ring.  Alternate forms:
  9273. {beep}, `bleep', or just about anything suitably onomatopoeic.
  9274. (Jeff MacNelly, in his comic strip "Shoe", uses the word    `eep' for
  9275. sounds made by computer terminals and video games; this    is perhaps
  9276. the closest written approximation yet.)  The term    `breedle' was
  9277. sometimes heard at SAIL, where the terminal    bleepers are not
  9278. particularly soft (they sound more like the    musical equivalent of a
  9279. raspberry or Bronx cheer; for a close    approximation, imagine the
  9280. sound of a Star Trek communicator's beep    lasting for five seconds).
  9281. The `feeper' on a VT-52 has been    compared to the sound of a '52
  9282. Chevy stripping its gears.  See also    {ding}.
  9283.  
  9284.    :feeper: /fee'pr/ n.  The device in a terminal or    workstation
  9285. (usually a loudspeaker of some kind) that makes the    {feep} sound.
  9286.  
  9287.    :feeping creature: n.  [from {feeping creaturism}] An    unnecessary
  9288. feature; a bit of {chrome} that, in the speaker's    judgment, is the
  9289. camel's nose for a whole horde of new features.
  9290.  
  9291.    :feeping creaturism: /fee'ping kree`ch*r-izm/ n.  A    deliberate
  9292. spoonerism for {creeping featurism}, meant to imply    that the system
  9293. or program in question has become a misshapen    creature of hacks.
  9294. This term isn't really well defined, but it    sounds so neat that most
  9295. hackers have said or heard it.  It is    probably reinforced by an
  9296. image of terminals prowling about in the    dark making their customary
  9297. noises.
  9298.  
  9299.    :feetch feetch: /feech feech/ interj.  If someone tells you    about
  9300. some new improvement to a program, you might respond:    "Feetch,
  9301. feetch!"  The meaning of this depends critically on    vocal
  9302. inflection.  With enthusiasm, it means something like "Boy,    that's
  9303. great!  What a great hack!"  Grudgingly or with obvious    doubt, it
  9304. means "I don't know; it sounds like just one more    unnecessary and
  9305. complicated thing".  With a tone of resignation,    it means, "Well,
  9306. I'd rather keep it simple, but I suppose it has    to be done".
  9307.  
  9308.    :fence: n. 1.  A sequence of one or more distinguished
  9309. ({out-of-band}) characters (or other data items), used to    delimit a
  9310. piece of data intended to be treated as a unit (the    computer-science
  9311. literature calls this a `sentinel').  The NUL    (ASCII 0000000)
  9312. character that terminates strings in C is a fence.     Hex FF is also
  9313. (though slightly less frequently) used this way.     See {zigamorph}.
  9314. 2. An extra data value inserted in an array or    other data structure
  9315. in order to allow some normal test on the    array's contents also to
  9316. function as a termination test.  For    example, a highly optimized
  9317. routine for finding a value in an array    might artificially place a
  9318. copy of the value to be searched for    after the last slot of the
  9319. array, thus allowing the main search    loop to search for the value
  9320. without having to check at each pass    whether the end of the array
  9321. had been reached.  3. [among users of    optimizing compilers] Any
  9322. technique, usually exploiting knowledge    about the compiler, that
  9323. blocks certain optimizations.  Used when    explicit mechanisms are not
  9324. available or are overkill.  Typically a    hack: "I call a dummy
  9325. procedure there to force a flush of the    optimizer's
  9326. register-coloring info" can be expressed by the    shorter "That's a
  9327. fence procedure".
  9328.  
  9329.    :fencepost error: n.  1. [common] A problem with the discrete
  9330. equivalent of a boundary condition, often exhibited in programs by
  9331. iterative loops.  From the following problem: "If you build a    fence
  9332. 100 feet long with posts 10 feet apart, how many posts do you    need?"
  9333. (Either 9 or 11 is a better answer than the obvious 10.)     For
  9334. example, suppose you have a long list or array of items, and    want to
  9335. process items m through n; how many items are    there?  The obvious
  9336. answer is n - m, but that is off by one;    the right answer is n - m +
  9337. 1.  A program that used the    `obvious' formula would have a fencepost
  9338. error in it.  See also    {zeroth} and {off-by-one error}, and note
  9339. that not all    off-by-one errors are fencepost errors.  The game of
  9340. Musical Chairs    involves a catastrophic off-by-one error where N
  9341. people try    to sit in N - 1 chairs, but it's not a fencepost error.
  9342.  Fencepost errors come from counting things rather than the spaces
  9343. between them, or vice versa, or by neglecting to consider whether
  9344. one should count one or both ends of a row.  2. [rare] An error
  9345. induced by unexpected regularities in input values, which can (for
  9346. instance) completely thwart a theoretically efficient binary tree    or
  9347. hash table implementation.  (The error here involves the    difference
  9348. between expected and worst case behaviors of an    algorithm.)
  9349.  
  9350.    :FidoNet: n.  A worldwide hobbyist network of personal    computers
  9351. which exchanges mail, discussion groups, and files.     Founded in 1984
  9352. and originally consisting only of IBM PCs and    compatibles, FidoNet
  9353. now includes such diverse machines as Apple    ][s, Ataris, Amigas, and
  9354. Unix systems.  For years FidoNet actually    grew faster than Usenet,
  9355. but the advent of cheap Internet access    probably means its days are
  9356. numbered.  In early 1999 Fidonet    has approximately 30,000 nodes,
  9357. down from 38K in 1996.
  9358.  
  9359.    :field circus: n.  [a derogatory pun on `field service'] The
  9360. field service organization of any hardware manufacturer, but
  9361. originally {DEC}.  There is an entire genre of jokes about field
  9362. circus engineers:
  9363.  
  9364.      Q: How can you recognize a field circus engineer
  9365.         with a flat tire?
  9366.      A: He's changing one tire at a time to see which one is flat.
  9367.  
  9368.      Q: How can you recognize a field circus engineer
  9369.         who is out of gas?
  9370.      A: He's changing one tire at a time to see which one is flat.
  9371.  
  9372.      Q: How can you tell it's _your_ field circus engineer?
  9373.      A: The spare is flat, too.
  9374.  
  9375. [See {Easter egging} for additional insight on these jokes.]
  9376.  
  9377.    There is also the `Field Circus Cheer' (from the old {plan file} for
  9378.   DEC on MIT-AI):
  9379.  
  9380.      Maynard! Maynard!
  9381.      Don't mess with us!
  9382.      We're mean and we're tough!
  9383.      If you get us confused
  9384.      We'll screw up your stuff.
  9385.  
  9386. (DEC's service HQ, still extant under the Compaq regime, is located
  9387. in Maynard, Massachusetts.)
  9388.  
  9389.    :field servoid: [play on `android'] /fee'ld ser'voyd/ n.
  9390. Representative of a field service organization (see {field    circus}).
  9391. This has many of the implications of {droid}.
  9392.  
  9393.    :Fight-o-net: n.  [FidoNet] Deliberate distortion of {FidoNet},
  9394. often applied after a flurry of {flamage} in a particular    {echo},
  9395. especially the SYSOP echo or Fidonews (see {'Snooze}).
  9396.  
  9397.    :File Attach: [FidoNet]  1. n. A file sent along with a mail
  9398. message from one FidoNet to another.  2. vt. Sending someone a file by
  9399.  using the File Attach option in a FidoNet mailer.
  9400.  
  9401.    :File Request: [FidoNet]  1. n. The {FidoNet} equivalent of
  9402. {FTP}, in which one FidoNet system automatically dials another and
  9403. {snarf}s one or more files.  Often abbreviated `FReq'; files    are
  9404. often announced as being "available for FReq" in the same way    that
  9405. files are announced as being "available for/by anonymous    FTP" on the
  9406. Internet.  2. vt. The act of getting a copy of a file    by using the
  9407. File Request option of the FidoNet mailer.
  9408.  
  9409.    :file signature: n.  A {magic number}, sense 3.
  9410.  
  9411.    :filk: /filk/ n.,v.  [from SF fandom, where a typo for    `folk' was
  9412. adopted as a new word] A popular or folk song with    lyrics revised or
  9413. completely new lyrics and/or music, intended for    humorous effect
  9414. when read, and/or to be sung late at night at SF    conventions.  There
  9415. is a flourishing subgenre of these called    `computer filks', written
  9416. by hackers and often containing rather    sophisticated technical
  9417. humor.  See {double bucky} for an    example.  Compare {grilf}, {hing},
  9418. {pr0n}, and    {newsfroup}.
  9419.  
  9420.    :film at 11:  [MIT: in parody of TV newscasters] 1. Used in
  9421. conversation to announce ordinary events, with a sarcastic
  9422. implication that these events are earth-shattering.  "{{ITS}}
  9423. crashes; film at 11."  "Bug found in scheduler; film at 11."     2.
  9424. Also widely used outside MIT to indicate that additional    information
  9425. will be available at some future time, _without_    the implication of
  9426. anything particularly ordinary about the    referenced event.  For
  9427. example, "The mail file server died this    morning; we found garbage
  9428. all over the root directory.  Film at    11." would indicate that a
  9429. major failure had occurred but that the    people working on it have no
  9430. additional information about it as    yet; use of the phrase in this
  9431. way suggests gently that the problem    is liable to be fixed more
  9432. quickly if the people doing the fixing    can spend time doing the
  9433. fixing rather than responding to    questions, the answers to which
  9434. will appear on the normal "11:00    news", if people will just be
  9435. patient.
  9436.  
  9437.    The variant "MPEGs at 11" has recently been cited (MPEG is a
  9438. digital-video format.)
  9439.  
  9440.    :filter: n.  [very common; orig. {{Unix}}, now also in
  9441. {{MS-DOS}}] A program that processes an input data stream into an
  9442. output data stream in some well-defined way, and does no I/O to
  9443. anywhere else except possibly on error conditions; one designed to
  9444. be used as a stage in a `pipeline' (see {plumbing}).  Compare
  9445. {sponge}.
  9446.  
  9447.    :Finagle's Law: n.  The generalized or `folk' version of
  9448. {Murphy's Law}, fully named "Finagle's Law of Dynamic    Negatives" and
  9449. usually rendered "Anything that can go wrong,    will".  One variant
  9450. favored among hackers is "The perversity of    the Universe tends
  9451. towards a maximum" (but see also {Hanlon's    Razor}).  The label
  9452. `Finagle's Law' was popularized by SF author    Larry Niven in several
  9453. stories depicting a frontier culture of    asteroid miners; this
  9454. `Belter' culture professed a religion    and/or running joke involving
  9455. the worship of the dread god Finagle    and his mad prophet Murphy.
  9456. Some technical and scientific cultures    (e.g., paleontologists) know
  9457. it under the name `Sod's Law'; this    usage may be more common in
  9458. Great Britain.
  9459.  
  9460.    :fine: adj.  [WPI] Good, but not good enough to be {cuspy}.     The
  9461. word `fine' is used elsewhere, of course, but without the    implicit
  9462. comparison to the higher level implied by {cuspy}.
  9463.  
  9464.    :finger:  [WAITS, via BSD Unix] 1. n. A program that displays
  9465. information about a particular user or all users logged on the
  9466. system, or a remote system.  Typically shows full name, last login
  9467. time, idle time, terminal line, and terminal location (where
  9468. applicable).  May also display a {plan file} left by the user    (see
  9469. also {Hacking X for Y}).  2. vt. To apply finger to a    username.  3.
  9470. vt. By extension, to check a human's current state by    any means.
  9471. "Foodp?"  "T!"  "OK, finger Lisa and see if she's    idle."  4. Any
  9472. picture (composed of ASCII characters) depicting    `the finger'.
  9473. Originally a humorous component of one's plan file    to deter the
  9474. curious fingerer (sense 2), it has entered the arsenal    of some
  9475. {flamer}s.
  9476.  
  9477.    :finger trouble: n.  Mistyping, typos, or generalized keyboard
  9478. incompetence (this is surprisingly common among hackers, given the
  9479. amount of time they spend at keyboards). "I keep putting colons at
  9480. the end of statements instead of semicolons", "Finger trouble    again,
  9481. eh?".
  9482.  
  9483.    :finger-pointing syndrome: n.  All-too-frequent result of    bugs,
  9484. esp. in new or experimental configurations.  The hardware    vendor
  9485. points a finger at the software.  The software vendor points    a
  9486. finger at the hardware.  All the poor users get is the finger.
  9487.  
  9488.    :finn: v.  [IRC] To pull rank on somebody based on the amount    of
  9489. time one has spent on {IRC}.  The term derives from the fact    that
  9490. IRC was originally written in Finland in 1987.  There may be    some
  9491. influence from the `Finn' character in William Gibson's    seminal
  9492. cyberpunk novel "Count Zero", who at one point says to    another (much
  9493. younger) character "I have a pair of shoes older    than you are, so
  9494. shut up!"
  9495.  
  9496.    :firebottle: n.obs.  A large, primitive, power-hungry active
  9497. electrical device, similar in function to a FET but constructed out
  9498. of glass, metal, and vacuum.  Characterized by high cost, low
  9499. density, low reliability, high-temperature operation, and high    power
  9500. dissipation.  Sometimes mistakenly called a `tube' in the    U.S.  or a
  9501. `valve' in England; another hackish term is    {glassfet}.
  9502.  
  9503.    :firefighting: n.  1. What sysadmins have to do to correct    sudden
  9504. operational problems.  An opposite of hacking.  "Been    hacking your
  9505. new newsreader?"  "No, a power glitch hosed the    network and I spent
  9506. the whole afternoon fighting fires."  2. The    act of throwing lots of
  9507. manpower and late nights at a project,    esp. to get it out before
  9508. deadline.  See also {gang bang},    {Mongolian Hordes technique};
  9509. however, the term `firefighting'    connotes that the effort is going
  9510. into chasing bugs rather than    adding features.
  9511.  
  9512.    :firehose syndrome: n.  In mainstream folklore it is observed
  9513. that trying to drink from a firehose can be a good way to rip your
  9514. lips off.  On computer networks, the absence or failure of flow
  9515. control mechanisms can lead to situations in which the sending
  9516. system sprays a massive flood of packets at an unfortunate    receiving
  9517. system, more than it can handle.  Compare {overrun},    {buffer
  9518. overflow}.
  9519.  
  9520.    :firewall code: n.  1. The code you put in a system (say, a
  9521. telephone switch) to make sure that the users can't do any    damage.
  9522. Since users always want to be able to do everything but    never want
  9523. to suffer for any mistakes, the construction of a    firewall is a
  9524. question not only of defensive coding but also of    interface
  9525. presentation, so that users don't even get curious about    those
  9526. corners of a system where they can burn themselves.     2. Any sanity
  9527. check inserted to catch a {can't happen} error.     Wise programmers
  9528. often change code to fix a bug twice: once to fix    the bug, and once
  9529. to insert a firewall which would have arrested    the bug before it did
  9530. quite as much damage.
  9531.  
  9532.    :firewall machine: n.  A dedicated gateway machine with    special
  9533. security precautions on it, used to service outside network
  9534. connections and dial-in lines.  The idea is to protect a cluster of
  9535. more loosely administered machines hidden behind it from    {cracker}s.
  9536. The typical firewall is an inexpensive micro-based    Unix box kept
  9537. clean of critical data, with a bunch of modems and    public network
  9538. ports on it but just one carefully watched    connection back to the
  9539. rest of the cluster.  The special    precautions may include threat
  9540. monitoring, callback, and even a    complete {iron box} keyable to
  9541. particular incoming IDs or    activity patterns.  Syn. {flytrap},
  9542. {Venus flytrap}.
  9543.  
  9544.    [When first coined in the mid-1980s this term was pure jargon. Now
  9545. (1999) it is techspeak, and has been retained only as an example of
  9546. uptake --ESR]
  9547.  
  9548.    :fireworks mode: n.  The mode a machine is sometimes said to    be
  9549. in when it is performing a {crash and burn} operation.
  9550.  
  9551.    :firmware: /ferm'weir/ n.  Embedded software contained    in EPROM
  9552. or flash memory. It isn't quite hardware, but at least    doesn't have
  9553. to be loaded from a disk like regular software. Hacker    usage differs
  9554. from straight techspeak in that hackers don't    normally apply it to
  9555. stuff that you can't possibly get at, such as    the program that runs
  9556. a pocket calculator. Instead, it implies that    the firmware could be
  9557. changed, even if doing so would mean opening    a box and plugging in a
  9558. new chip. A computer's BIOS is the classic    example, although
  9559. nowadays there is firmware in disk controllers,    modems, video cards
  9560. and even CD-ROM drives.
  9561.  
  9562.    :firmy: /fer'mee/ n.  Syn. {stiffy} (a 3.5-inch floppy    disk).
  9563.  
  9564.    :fish: n.  [Adelaide University, Australia] 1. Another
  9565. {metasyntactic variable}.  See {foo}.  Derived originally    from the
  9566. Monty Python skit in the middle of "The Meaning of    Life" entitled
  9567. "Find the Fish".  2. A pun for `microfiche'.     A microfiche file
  9568. cabinet may be referred to as a `fish tank'.
  9569.  
  9570.    :FISH queue: n.  [acronym, by analogy with FIFO (First In,    First
  9571. Out)] `First In, Still Here'.  A joking way of pointing out    that
  9572. processing of a particular sequence of events or requests has
  9573. stopped dead.  Also `FISH mode' and `FISHnet'; the latter may    be
  9574. applied to any network that is running really slowly or    exhibiting
  9575. extreme flakiness.
  9576.  
  9577.    :FITNR: // adj.  [Thinking Machines, Inc.] Fixed In The    Next
  9578. Release.  A written-only notation attached to bug reports.     Often
  9579. wishful thinking.
  9580.  
  9581.    :fix: n.,v.  What one does when a problem has been reported    too
  9582. many times to be ignored.
  9583.  
  9584.    :FIXME: imp.  [common] A standard tag often put in C    comments
  9585. near a piece of code that needs work.  The point of doing    so is that
  9586. a `grep' or a similar pattern-matching tool can    find all such places
  9587. quickly.
  9588.  
  9589.      /* FIXME: note this is common in {GNU} code. */
  9590.  
  9591. Compare {XXX}.
  9592.  
  9593.    :flag: n.  [very common] A variable or quantity that can    take on
  9594. one of two values; a bit, particularly one that is used to    indicate
  9595. one of two outcomes or is used to control which of two    things is to
  9596. be done.  "This flag controls whether to clear the    screen before
  9597. printing the message."  "The program status word    contains several
  9598. flag bits."  Used of humans analogously to    {bit}.  See also {hidden
  9599. flag}, {mode bit}.
  9600.  
  9601.    :flag day: n.  A software change that is neither forward- nor
  9602. backward-compatible, and which is costly to make and costly to
  9603. reverse.  "Can we install that without causing a flag day for all
  9604. users?"  This term has nothing to do with the use of the word    {flag}
  9605. to mean a variable that has two values.  It came into use    when a
  9606. massive change was made to the {{Multics}} timesharing    system to
  9607. convert from the old ASCII code to the new one; this was    scheduled
  9608. for Flag Day (a U.S. holiday), June 14, 1966.  See also    {backward
  9609. combatability}.
  9610.  
  9611.    :flaky: adj.  (var sp. `flakey') Subject to frequent    {lossage}.
  9612. This use is of course related to the common slang    use of the word to
  9613. describe a person as eccentric, crazy, or just    unreliable.  A system
  9614. that is flaky is working, sort of -- enough    that you are tempted to
  9615. try to use it -- but fails frequently    enough that the odds in favor
  9616. of finishing what you start are low.     Commonwealth hackish prefers
  9617. {dodgy} or {wonky}.
  9618.  
  9619.    :flamage: /flay'm*j/ n.  [very common] Flaming verbiage,    esp.
  9620. high-noise, low-signal postings to {Usenet} or other    electronic
  9621. {fora}.  Often in the phrase `the usual flamage'.     `Flaming' is the
  9622. act itself; `flamage' the content; a `flame'    is a single flaming
  9623. message.  See {flame}, also {dahmum}.
  9624.  
  9625.    :flame:  1. vi. To post an email message intended to insult    and
  9626. provoke.  2. vi. To speak incessantly and/or rabidly on some
  9627. relatively uninteresting subject or with a patently ridiculous
  9628. attitude.  3. vt. Either of senses 1 or 2, directed with hostility
  9629. at a particular person or people.  4. n. An instance of flaming.
  9630. When a discussion degenerates into useless controversy, one might
  9631. tell the participants "Now you're just flaming" or "Stop all    that
  9632. flamage!" to try to get them to cool down (so to speak).
  9633.  
  9634.    The term may have been independently invented at several different
  9635. places.  It has been reported from MIT, Carleton College and RPI
  9636. (among many other places) from as far back as 1969.
  9637.  
  9638.    It is possible that the hackish sense of `flame' is much older than
  9639.  that.  The poet Chaucer was also what passed for a wizard hacker in
  9640. his time; he wrote a treatise on the astrolabe, the most advanced
  9641. computing device of the day.  In Chaucer's "Troilus and    Cressida",
  9642. Cressida laments her inability to grasp the proof of a    particular
  9643. mathematical theorem; her uncle Pandarus then observes    that it's
  9644. called "the fleminge of wrecches."  This phrase seems    to have been
  9645. intended in context as "that which puts the wretches    to flight" but
  9646. was probably just as ambiguous in Middle English as    "the flaming of
  9647. wretches" would be today.  One suspects that    Chaucer would feel
  9648. right at home on Usenet.
  9649.  
  9650.    :flame bait: n.  [common] A posting intended to trigger a    {flame
  9651. war}, or one that invites flames in reply.  See also    {troll}.
  9652.  
  9653.    :flame on: vi.,interj.  1. To begin to {flame}.  The    punning
  9654. reference to Marvel Comics's Human Torch is no longer    widely
  9655. recognized.  2. To continue to flame.  See {rave},    {burble}.
  9656.  
  9657.    :flame war: n.  [common] (var. `flamewar') An    acrimonious
  9658. dispute, especially when conducted on a public    electronic forum such
  9659. as {Usenet}.
  9660.  
  9661.    :flamer: n.  [common] One who habitually {flame}s.     Said esp. of
  9662. obnoxious {Usenet} personalities.
  9663.  
  9664.    :flap: vt.  1. [obs.] To unload a DECtape (so it goes flap, flap,
  9665. flap...).  Old-time hackers at MIT tell of the days when the    disk
  9666. was device 0 and DEC microtapes were 1, 2,... and    attempting to flap
  9667. device 0 would instead start a motor banging    inside a cabinet near
  9668. the disk.  2. By extension, to unload any    magnetic tape.  See also
  9669. {macrotape}.  Modern cartridge tapes no    longer actually flap, but
  9670. the usage has remained.  (The term could    well be re-applied to DEC's
  9671. TK50 cartridge tape drive, a    spectacularly misengineered contraption
  9672. which makes a loud flapping    sound, almost like an old reel-type
  9673. lawnmower, in one of its many    tape-eating failure modes.)
  9674.  
  9675.    :flarp: /flarp/ n.  [Rutgers University] Yet another
  9676. {metasyntactic variable} (see {foo}).  Among those who use    it, it is
  9677. associated with a legend that any program not containing    the word
  9678. `flarp' somewhere will not work.  The legend is    discreetly silent on
  9679. the reliability of programs which _do_    contain the magic word.
  9680.  
  9681.    :flat: adj.  1. [common] Lacking any complex internal    structure.
  9682. "That {bitty box} has only a flat filesystem, not a    hierarchical
  9683. one."  The verb form is {flatten}.  2. Said of a    memory architecture
  9684. (like that of the VAX or 680x0) that is one big    linear address space
  9685. (typically with each possible value of a    processor register
  9686. corresponding to a unique core address), as    opposed to a `segmented'
  9687. architecture (like that of the 80x86) in    which addresses are
  9688. composed from a base-register/offset pair    (segmented designs are
  9689. generally considered {cretinous}).
  9690.  
  9691.    Note that sense 1 (at least with respect to filesystems) is usually
  9692.  used pejoratively, while sense 2 is a {Good Thing}.
  9693.  
  9694.    :flat-ASCII: adj.  [common] Said of a text file that    contains
  9695. only 7-bit ASCII characters and uses only ASCII-standard    control
  9696. characters (that is, has no embedded codes specific to a    particular
  9697. text formatter markup language, or output device, and no
  9698. {meta}-characters).  Syn. {plain-ASCII}.  Compare    {flat-file}.
  9699.  
  9700.    :flat-file: adj.  A {flatten}ed representation of some    database
  9701. or tree or network structure as a single file from which    the
  9702. structure could implicitly be rebuilt, esp. one in    {flat-ASCII}
  9703. form.  See also {sharchive}.
  9704.  
  9705.    :flatten: vt.  [common] To remove structural information,    esp. to
  9706. filter something with an implicit tree structure into a    simple
  9707. sequence of leaves; also tends to imply mapping to    {flat-ASCII}.
  9708. "This code flattens an expression with    parentheses into an
  9709. equivalent {canonical} form."
  9710.  
  9711.    :flavor: n.  1. [common] Variety, type, kind.  "DDT    commands come
  9712. in two flavors."  "These lights come in two    flavors, big red ones
  9713. and small green ones." "Linux is a flavor    of Unix" See {vanilla}.
  9714. 2. The attribute that causes something    to be {flavorful}.  Usually
  9715. used in the phrase "yields    additional flavor".  "This convention
  9716. yields additional flavor by    allowing one to print text either
  9717. right-side-up or upside-down."     See {vanilla}.  This usage was
  9718. certainly reinforced by the    terminology of quantum chromodynamics,
  9719. in which quarks (the    constituents of, e.g., protons) come in six
  9720. flavors (up, down,    strange, charm, top, bottom) and three colors
  9721. (red, blue, green)    -- however, hackish use of `flavor' at MIT
  9722. predated QCD.     3. The term for `class' (in the object-oriented
  9723. sense) in the    LISP Machine Flavors system.  Though the Flavors
  9724. design has been    superseded (notably by the Common LISP CLOS
  9725. facility), the term    `flavor' is still used as a general synonym for
  9726. `class' by    some LISP hackers.
  9727.  
  9728.    :flavorful: adj.  Full of {flavor} (sense 2); esthetically
  9729. pleasing.  See {random} and {losing} for antonyms.  See also    the
  9730. entries for {taste} and {elegant}.
  9731.  
  9732.    :flippy: /flip'ee/ n.  A single-sided floppy disk altered    for
  9733. double-sided use by addition of a second write-notch, so called
  9734. because it must be flipped over for the second side to be
  9735. accessible.  No longer common.
  9736.  
  9737.    :flood: v.  [common; IRC] To dump large amounts of text    onto an
  9738. {IRC} channel.  This is especially rude when the text is
  9739. uninteresting and the other users are trying to carry on a serious
  9740. conversation.  Also used in a similar sense on Usenet.
  9741.  
  9742.    :flowchart:: n.  [techspeak] An archaic form of visual
  9743. control-flow specification employing arrows and `speech    balloons' of
  9744. various shapes.  Hackers never use flowcharts,    consider them
  9745. extremely silly, and associate them with {COBOL}    programmers, {card
  9746. walloper}s, and other lower forms of life.     This attitude follows
  9747. from the observations that flowcharts (at    least from a hacker's
  9748. point of view) are no easier to read than    code, are less precise,
  9749. and tend to fall out of sync with the code    (so that they either
  9750. obfuscate it rather than explaining it, or    require extra maintenance
  9751. effort that doesn't improve the code).     See also {PDL}, sense 1.
  9752.  
  9753.    :flower key: n.  [Mac users] See {feature key}.
  9754.  
  9755.    :flush: v.  1. [common] To delete something, usually    superfluous,
  9756. or to abort an operation.  "All that nonsense has    been flushed."  2.
  9757. [Unix/C] To force buffered I/O to disk, as with    an `fflush(3)' call.
  9758. This is _not_ an abort or deletion    as in sense 1, but a demand for
  9759. early completion!  3. To leave at    the end of a day's work (as
  9760. opposed to leaving for a meal).  "I'm    going to flush now."  "Time to
  9761. flush."  4. To exclude someone    from an activity, or to ignore a
  9762. person.
  9763.  
  9764.    `Flush' was standard ITS terminology for aborting an output
  9765. operation; one spoke of the text that would have been printed, but
  9766. was not, as having been flushed.  It is speculated that this term
  9767. arose from a vivid image of flushing unwanted characters by hosing
  9768. down the internal output buffer, washing the characters away before
  9769. they could be printed.  The Unix/C usage, on the other hand, was
  9770. propagated by the `fflush(3)' call in C's standard I/O library
  9771. (though it is reported to have been in use among BLISS programmers
  9772. at {DEC} and on Honeywell and IBM machines as far back as 1965).
  9773. Unix/C hackers found the ITS usage confusing, and vice versa.
  9774.  
  9775.    :flypage: /fli:'payj/ n.  (alt. `fly page') A {banner},    sense 1.
  9776.  
  9777.    :Flyspeck 3: n.  Standard name for any font that is so tiny as    to
  9778. be unreadable (by analogy with names like `Helvetica 10' for
  9779. 10-point Helvetica).  Legal boilerplate is usually printed in
  9780. Flyspeck 3.
  9781.  
  9782.    :flytrap: n.  [rare] See {firewall machine}.
  9783.  
  9784.    :FM: /F-M/ n.  1. [common] _Not_ `Frequency    Modulation' but
  9785. rather an abbreviation for `Fucking Manual', the    back-formation from
  9786. {RTFM}. Used to refer to the manual itself    in the {RTFM}.  "Have you
  9787. seen the Networking FM lately?"     2. Abbreviation for "Fucking
  9788. Magic", used in the sense of    {black magic}.
  9789.  
  9790.    :fnord: n.  [from the "Illuminatus Trilogy"] 1. A word    used in
  9791. email and news postings to tag utterances as surrealist    mind-play or
  9792. humor, esp. in connection with {Discordianism} and    elaborate
  9793. conspiracy theories.  "I heard that David Koresh is    sharing an
  9794. apartment in Argentina with Hitler. (Fnord.)" "Where    can I fnord get
  9795. the Principia Discordia from?"  2. A    {metasyntactic variable},
  9796. commonly used by hackers with ties to    {Discordianism} or the {Church
  9797. of the SubGenius}.
  9798.  
  9799.    :FOAF: // n.  [Usenet; common] Acronym for `Friend Of    A Friend'.
  9800. The source of an unverified, possibly untrue story.     This term was
  9801. not originated by hackers (it is used in Jan    Brunvand's books on
  9802. urban folklore), but is much better recognized    on Usenet and
  9803. elsewhere than in mainstream English.
  9804.  
  9805.    :FOD: /fod/ v.  [Abbreviation for `Finger of Death',    originally a
  9806. spell-name from fantasy gaming] To terminate with    extreme prejudice
  9807. and with no regard for other people.  From    {MUD}s where the wizard
  9808. command `FOD <player>' results in the    immediate and total death of
  9809. <player>, usually as punishment for    obnoxious behavior.  This usage
  9810. migrated to other circumstances,    such as "I'm going to fod the
  9811. process that is burning all the    cycles."  Compare {gun}.
  9812.  
  9813.    In aviation, FOD means Foreign Object Damage, e.g., what happens
  9814. when a jet engine sucks up a rock on the runway or a bird in    flight.
  9815. Finger of Death is a distressingly apt description of    what this
  9816. generally does to the engine.
  9817.  
  9818.    :fold case: v.  See {smash case}.  This term tends to be    used
  9819. more by people who don't mind that their tools smash case.  It    also
  9820. connotes that case is ignored but case distinctions in data
  9821. processed by the tool in question aren't destroyed.
  9822.  
  9823.    :followup: n.  [common] On Usenet, a {posting}    generated in
  9824. response to another posting (as opposed to a    {reply}, which goes by
  9825. email rather than being broadcast).     Followups include the ID of the
  9826. {parent message} in their    headers; smart news-readers can use this
  9827. information to present    Usenet news in `conversation' sequence rather
  9828. than    order-of-arrival.  See {thread}.
  9829.  
  9830.    :fontology: n.  [XEROX PARC] The body of knowledge dealing    with
  9831. the construction and use of new fonts (e.g., for window    systems and
  9832. typesetting software).  It has been said that fontology
  9833. recapitulates file-ogeny.
  9834.  
  9835.    [Unfortunately, this reference to the embryological dictum that
  9836. "Ontogeny recapitulates phylogeny" is not merely a joke.  On the
  9837. Macintosh, for example, System 7 has to go through contortions to
  9838. compensate for an earlier design error that created a whole
  9839. different set of abstractions for fonts parallel to `files' and
  9840. `folders' --ESR]
  9841.  
  9842.    :foo: /foo/  1. interj. Term of disgust.  2. [very    common] Used
  9843. very generally as a sample name for absolutely    anything, esp.
  9844. programs and files (esp. scratch files).  3. First    on the standard
  9845. list of {metasyntactic variable}s used in syntax    examples.  See also
  9846. {bar}, {baz}, {qux}, {quux},    {corge}, {grault}, {garply}, {waldo},
  9847. {fred},    {plugh}, {xyzzy}, {thud}.
  9848.  
  9849.    The etymology of hackish `foo' is obscure.  When used in
  9850. connection with `bar' it is generally traced to the WWII-era Army
  9851. slang acronym FUBAR (`Fucked Up Beyond All Repair'), later
  9852. bowdlerized to {foobar}.  (See also {FUBAR}.)  It has been    plausibly
  9853. suggested that FUBAR was influenced by German    `furchtbar'
  9854. (terrible). It has also been reported out that 1960s    computer
  9855. manuals, in a usage influenced by Fortran's    implicit-declaration
  9856. feature, frequently used F00 (F followed by    two zeros) in examples.
  9857.  
  9858.    However, the use of the word `foo' itself has more complicated
  9859. antecedents, including a long history in comic strips and cartoons.
  9860. The old "Smokey Stover" comic strips by Bill Holman often    included
  9861. the word `FOO', in particular on license plates of cars;    allegedly,
  9862. `FOO' and `BAR' also occurred in Walt Kelly's    "Pogo" strips.  In the
  9863. 1938 cartoon "The Daffy Doc", a very    early version of Daffy Duck
  9864. holds up a sign saying "SILENCE IS    FOO!"; oddly, this seems to refer
  9865. to some approving or positive    affirmative use of foo.  It has been
  9866. suggested that this might be    related to the Chinese word `fu'
  9867. (sometimes transliterated    `foo'), which can mean "happiness" when
  9868. spoken with the proper    tone (the lion-dog guardians flanking the
  9869. steps of many Chinese    restaurants are properly called "fu dogs").
  9870.  
  9871.    Paul Dickson's excellent book "Words" (Dell, 1982, ISBN
  9872. 0-440-52260-7) traces "Foo" to an unspecified British naval    magazine
  9873. in 1946, quoting as follows: "Mr. Foo is a mysterious    Second World
  9874. War product, gifted with bitter omniscience and    sarcasm."
  9875.  
  9876.    Other sources confirm that `FOO' was a semi-legendary subject of
  9877. WWII British-army graffiti more-or-less equivalent to the American
  9878. Kilroy.  Where British troops went, the graffito "FOO was here"    or
  9879. something similar showed up.  Several slang dictionaries aver    that
  9880. FOO probably came from Forward Observation Officer.  In this
  9881. connection, the later American military slang `foo fighters' is
  9882. interesting; at least as far back as the 1950s, radar operators    used
  9883. it for the kind of mysterious or spurious trace that would    later be
  9884. called a UFO (the older term resurfaced in popular    American usage in
  9885. 1995 via the name of one of the better    grunge-rock bands).
  9886.  
  9887.    Earlier versions of this entry suggested the possibility that
  9888. hacker usage actually sprang from "FOO, Lampoons and Parody",    the
  9889. title of a comic book first issued in September 1958, a joint
  9890. project of Charles and Robert Crumb.  Though Robert Crumb (then in
  9891. his mid-teens) later became one of the most important and
  9892. influential artists in underground comics, this venture was hardly    a
  9893. success; indeed, the brothers later burned most of the existing
  9894. copies in disgust.  The title FOO was featured in large letters on
  9895. the front cover.  However, very few copies of this comic actually
  9896. circulated, and students of Crumb's `oeuvre' have established    that
  9897. this title was a reference to the earlier Smokey Stover    comics.
  9898.  
  9899.    An old-time member reports that in the 1959 "Dictionary of the
  9900. TMRC Language", compiled at {TMRC}, there was an entry that went
  9901. something like this:
  9902.  
  9903.      FOO: The first syllable of the sacred chant phrase "FOO MANE PADME
  9904.      HUM."  Our first obligation is to keep the foo counters turning.
  9905.  
  9906.    For more about the legendary foo counters, see {TMRC}.  Almost
  9907. the entire staff of what later became the MIT AI Lab was involved
  9908. with TMRC, and probably picked the word up there.
  9909.  
  9910.    Very probably, hackish `foo' had no single origin and derives
  9911. through all these channels from Yiddish `feh' and/or English    `fooey'.
  9912.  
  9913.    :foobar: n.  [very common] Another widely used    {metasyntactic
  9914. variable}; see {foo} for etymology.  Probably    originally propagated
  9915. through DECsystem manuals by Digital    Equipment Corporation ({DEC})
  9916. in 1960s and early 1970s;    confirmed sightings there go back to 1972.
  9917. Hackers do _not_    generally use this to mean {FUBAR} in either the
  9918. slang or jargon    sense.  See also {Fred Foobar}.
  9919.  
  9920.    :fool: n.  As used by hackers, specifically describes a person
  9921. who habitually reasons from obviously or demonstrably incorrect
  9922. premises and cannot be persuaded by evidence to do otherwise; it is
  9923. not generally used in its other senses, i.e., to describe a person
  9924. with a native incapacity to reason correctly, or a clown.  Indeed,
  9925. in hackish experience many fools are capable of reasoning all too
  9926. effectively in executing their errors.  See also {cretin},    {loser},
  9927. {fool file}.
  9928.  
  9929.    The Algol 68-R compiler used to initialize its storage to the
  9930. character string "F00LF00LF00LF00L..."  because as a pointer or as    a
  9931. floating point number it caused a crash, and as an integer or a
  9932. character string it was very recognizable in a dump.  Sadly, one    day
  9933. a very senior professor at Nottingham University wrote a    program
  9934. that called him a fool.  He proceeded to demonstrate the    correctness
  9935. of this assertion by lobbying the university (not quite
  9936. successfully) to forbid the use of Algol on its computers.  See    also
  9937. {DEADBEEF}.
  9938.  
  9939.    :fool file: n.  [Usenet] A notional repository of all the    most
  9940. dramatically and abysmally stupid utterances ever.  An entire
  9941. subgenre of {sig block}s consists of the header "From the fool
  9942. file:" followed by some quote the poster wishes to represent as an
  9943. immortal gem of dimwittery; for this usage to be really effective,
  9944. the quote has to be so obviously wrong as to be laughable.  More
  9945. than one Usenetter has achieved an unwanted notoriety by being
  9946. quoted in this way.
  9947.  
  9948.    :Foonly: n.  1. The {PDP-10} successor that was to have    been
  9949. built by the Super Foonly project at the Stanford Artificial
  9950. Intelligence Laboratory along with a new operating system.     (The
  9951. name itself came from FOO NLI, an error message emitted by a    PDP-10
  9952. assembler at SAIL meaning "FOO is Not a Legal Identifier".     The
  9953. intention was to leapfrog from the old {DEC} timesharing system SAIL
  9954. was then running to a new generation, bypassing TENEX which at that
  9955. time was the ARPANET standard.  ARPA funding for both the Super
  9956. Foonly and the new operating system was cut in 1974.  Most of the
  9957. design team went to DEC and contributed greatly to the design of    the
  9958. PDP-10 model KL10.  2. The name of the company formed by Dave    Poole,
  9959. one of the principal Super Foonly designers, and one of    hackerdom's
  9960. more colorful personalities.  Many people remember the    parrot which
  9961. sat on Poole's shoulder and was a regular companion.     3. Any of the
  9962. machines built by Poole's company.  The first was the    F-1 (a.k.a.
  9963. Super Foonly), which was the computational engine used    to create the
  9964. graphics in the movie "TRON".  The F-1 was the    fastest PDP-10 ever
  9965. built, but only one was ever made.  The effort    drained Foonly of its
  9966. financial resources, and the company turned    towards building
  9967. smaller, slower, and much less expensive machines.     Unfortunately,
  9968. these ran not the popular {TOPS-20} but a TENEX    variant called
  9969. Foonex; this seriously limited their market.  Also,    the machines
  9970. shipped were actually wire-wrapped engineering    prototypes requiring
  9971. individual attention from more than usually    competent site
  9972. personnel, and thus had significant reliability    problems.  Poole's
  9973. legendary temper and unwillingness to suffer    fools gladly did not
  9974. help matters.  By the time of the Jupiter    project cancellation in
  9975. 1983, Foonly's proposal to build another    F-1 was eclipsed by the
  9976. {Mars}, and the company never quite    recovered.  See the {Mars} entry
  9977. for the continuation and moral    of this story.
  9978.  
  9979.    :footprint: n.  1. The floor or desk area taken up by a piece    of
  9980. hardware.  2. [IBM] The audit trail (if any) left by a crashed
  9981. program (often in plural, `footprints').  See also {toeprint}.     3.
  9982. "RAM footprint": The minimum amount of RAM which an OS or other
  9983. program takes; this figure gives one an idea of how much will    be
  9984. left for other applications.  How actively this RAM is used is
  9985. another matter entirely.  Recent tendencies to featuritis and
  9986. software bloat can expand the RAM footprint of an OS to the point    of
  9987. making it nearly unusable in practice.  [This problem is,
  9988. thankfully, limited to operating systems so stupid that they don't
  9989. do virtual memory - ESR]
  9990.  
  9991.    :for free: adj.  [common] Said of a capability of a    programming
  9992. language or hardware that is available by its design    without needing
  9993. cleverness to implement: "In APL, we get the    matrix operations for
  9994. free."  "And owing to the way revisions are    stored in this system,
  9995. you get revision trees for free."  The term    usually refers to a
  9996. serendipitous feature of doing things a certain    way (compare {big
  9997. win}), but it may refer to an intentional but    secondary feature.
  9998.  
  9999.    :for the rest of us: adj.  [from the Mac slogan "The computer    for
  10000. the rest of us"] 1. Used to describe a {spiffy} product    whose
  10001. affordability shames other comparable products, or (more    often) used
  10002. sarcastically to describe {spiffy} but very    overpriced products.  2.
  10003. Describes a program with a limited    interface, deliberately limited
  10004. capabilities, non-orthogonality,    inability to compose primitives, or
  10005. any other limitation designed    to not `confuse' a naive user.  This
  10006. places an upper bound on    how far that user can go before the program
  10007. begins to get in the    way of the task instead of helping accomplish
  10008. it.  Used in    reference to Macintosh software which doesn't provide
  10009. obvious    capabilities because it is thought that the poor lusers
  10010. might not    be able to handle them.  Becomes `the rest of _them_' when
  10011.   used in third-party reference; thus, "Yes, it is an attractive
  10012. program, but it's designed for The Rest Of Them" means a program
  10013. that superficially looks neat but has no depth beyond the surface
  10014. flash.  See also {WIMP environment}, {Macintrash},    {point-and-drool
  10015. interface}, {user-friendly}.
  10016.  
  10017.    :for values of:  [MIT] A common rhetorical maneuver at MIT is    to
  10018. use any of the canonical {random numbers} as placeholders for
  10019. variables.  "The max function takes 42 arguments, for arbitrary
  10020. values of 42." "There are 69 ways to leave your lover, for 69 =    50."
  10021. This is especially likely when the speaker has uttered a    random
  10022. number and realizes that it was not recognized as such, but    even
  10023. `non-random' numbers are occasionally used in this fashion.     A
  10024. related joke is that pi equals 3 -- for small values    of pi and large
  10025. values of 3.
  10026.  
  10027.    Historical note: at MIT this usage has traditionally been traced to
  10028.  the programming language MAD (Michigan Algorithm Decoder), an
  10029. Algol-58-like language that was the most common choice among
  10030. mainstream (non-hacker) users at MIT in the mid-60s.  It inherited
  10031. from Algol-58 a control structure FOR VALUES OF X = 3, 7, 99 DO    ...
  10032. that would repeat the indicated instructions for each value in    the
  10033. list (unlike the usual FOR that only works for arithmetic    sequences
  10034. of values).  MAD is long extinct, but similar    for-constructs still
  10035. flourish (e.g., in Unix's shell languages).
  10036.  
  10037.    :fora: pl.n.  Plural of {forum}.
  10038.  
  10039.    :foreground: vt.  [Unix; common] To bring a task to the    top of
  10040. one's {stack} for immediate processing, and hackers often    use it in
  10041. this sense for non-computer tasks. "If your presentation    is due next
  10042. week, I guess I'd better foreground writing up the    design document."
  10043.  
  10044.    Technically, on a time-sharing system, a task executing in
  10045. foreground is one able to accept input from and return output to    the
  10046. user; oppose {background}.  Nowadays this term is primarily
  10047. associated with {{Unix}}, but it appears first to have been used    in
  10048. this sense on OS/360.  Normally, there is only one foreground    task
  10049. per terminal (or terminal window); having multiple processes
  10050. simultaneously reading the keyboard is a good way to {lose}.
  10051.  
  10052.    :fork bomb: n.  [Unix] A particular species of {wabbit}    that can
  10053. be written in one line of C (`main()    {for(;;)fork();}') or shell
  10054. (`$0 & $0 &') on any Unix system,    or occasionally created by an
  10055. egregious coding bug.  A fork bomb    process `explodes' by recursively
  10056. spawning copies of itself    (using the Unix system call `fork(2)').
  10057. Eventually it eats    all the process table entries and effectively
  10058. wedges the system.     Fortunately, fork bombs are relatively easy to
  10059. spot and kill, so    creating one deliberately seldom accomplishes more
  10060. than to bring    the just wrath of the gods down upon the perpetrator.
  10061. See also    {logic bomb}.
  10062.  
  10063.    :forked: adj.  [Unix; prob. influenced by a mainstream    expletive]
  10064. Terminally slow, or dead.  Originated when one system    was slowed to
  10065. a snail's pace by an inadvertent {fork bomb}.
  10066.  
  10067.    :Fortrash: /for'trash/ n.  Hackerism for the FORTRAN    (FORmula
  10068. TRANslator) language, referring to its primitive design,    gross and
  10069. irregular syntax, limited control constructs, and    slippery,
  10070. exception-filled semantics.
  10071.  
  10072.    :fortune cookie: n.  [WAITS, via Unix; common] A random    quote,
  10073. item of trivia, joke, or maxim printed to the user's tty at    login
  10074. time or (less commonly) at logout time.  Items from this    lexicon
  10075. have often been used as fortune cookies.  See {cookie    file}.
  10076.  
  10077.    :forum: n.  [Usenet, GEnie, CI$; pl. `fora' or `forums']    Any
  10078. discussion group accessible through a dial-in {BBS}, a    {mailing
  10079. list}, or a {newsgroup} (see {the network}).  A    forum functions much
  10080. like a bulletin board; users submit    {posting}s for all to read and
  10081. discussion ensues.  Contrast    real-time chat via {talk mode} or
  10082. point-to-point personal    {email}.
  10083.  
  10084.    :fossil: n.  1. In software, a misfeature that becomes
  10085. understandable only in historical context, as a remnant of times
  10086. past retained so as not to break compatibility.  Example: the
  10087. retention of octal as default base for string escapes in {C}, in
  10088. spite of the better match of hexadecimal to ASCII and modern
  10089. byte-addressable architectures.  See {dusty deck}.  2. More
  10090. restrictively, a feature with past but no present utility.     Example:
  10091. the force-all-caps (LCASE) bits in the V7 and {BSD}    Unix tty driver,
  10092. designed for use with monocase terminals.  (In a    perversion of the
  10093. usual backward-compatibility goal, this    functionality has actually
  10094. been expanded and renamed in some later    {USG Unix} releases as the
  10095. IUCLC and OLCUC bits.)  3. The FOSSIL    (Fido/Opus/Seadog Standard
  10096. Interface Level) driver specification    for serial-port access to
  10097. replace the {brain-dead} routines in    the IBM PC ROMs.  Fossils are
  10098. used by most MS-DOS {BBS} software    in preference to the `supported'
  10099. ROM routines, which do not support    interrupt-driven operation or
  10100. setting speeds above 9600; the use of    a semistandard FOSSIL library
  10101. is preferable to the {bare metal}    serial port programming otherwise
  10102. required.  Since the FOSSIL    specification allows additional
  10103. functionality to be hooked in,    drivers that use the {hook} but do
  10104. not provide serial-port    access themselves are named with a modifier,
  10105. as in `video    fossil'.
  10106.  
  10107.    :four-color glossies: n.  1. Literature created by    {marketroid}s
  10108. that allegedly contains technical specs but which    is in fact as
  10109. superficial as possible without being totally    {content-free}.
  10110. "Forget the four-color glossies, give me the    tech ref manuals."
  10111. Often applied as an indication of    superficiality even when the
  10112. material is printed on ordinary paper    in black and white.
  10113. Four-color-glossy manuals are _never_    useful for solving a problem.
  10114. 2. [rare] Applied by extension to    manual pages that don't contain
  10115. enough information to diagnose why    the program doesn't produce the
  10116. expected or desired output.
  10117.  
  10118.    :frag: n.,v.  [from Vietnam-era U.S. military slang via    the games
  10119. Doom and Quake] 1. To kill another player's {avatar}    in a multiuser
  10120. game.  "I hold the office Quake record with 40    frags."  2. To
  10121. completely ruin something.  "Forget that    power supply, the lightning
  10122. strike fragged it.
  10123.  
  10124.    :fragile: adj.  Syn {brittle}.
  10125.  
  10126.    :fred: n.  1. The personal name most frequently used as a
  10127. {metasyntactic variable} (see {foo}).  Allegedly popular    because
  10128. it's easy for a non-touch-typist to type on a standard    QWERTY
  10129. keyboard. In Great Britain, `fred', `jim' and `sheila' are    common
  10130. metasyntactic variables because their uppercase versions    were
  10131. _official_ names given to the 3 memory areas that held    I/O status
  10132. registers on the lovingly-remembered BBC Microcomputer!     (It is
  10133. reported that SHEILA was poked the most often.)  Unlike    {J. Random
  10134. Hacker} or `J. Random Loser', the name `fred' has    no positive or
  10135. negative loading (but see {Dr. Fred Mbogo}).     See also {barney}.  2.
  10136. An acronym for `Flipping Ridiculous    Electronic Device'; other
  10137. F-verbs may be substituted for    `flipping'.
  10138.  
  10139.    :Fred Foobar: n.  {J. Random Hacker}'s cousin.  Any    typical human
  10140. being, more or less synomous with `someone' except    that Fred Foobar
  10141. can be {backreference}d by name later on.  "So    Fred Foobar will
  10142. enter his phone number into the database, and    it'll be archived with
  10143. the others.  Months later, when Fred    searches..." See also {Bloggs
  10144. Family} and {Dr. Fred    Mbogo}
  10145.  
  10146.    :frednet: /fred'net/ n.  Used to refer to some {random}    and
  10147. uncommon protocol encountered on a network.  "We're    implementing
  10148. bridging in our router to solve the frednet problem."
  10149.  
  10150.    :freeware: n.  [common] Free software, often written by
  10151. enthusiasts and distributed by users' groups, or via electronic
  10152. mail, local bulletin boards, {Usenet}, or other electronic    media.
  10153. At one time, `freeware' was a trademark of Andrew    Fluegelman, the
  10154. author of the well-known MS-DOS comm program    PC-TALK III.  It wasn't
  10155. enforced after his mysterious    disappearance and presumed death in
  10156. 1984.  See {shareware},    {FRS}.
  10157.  
  10158.    :freeze: v.  To lock an evolving software distribution or
  10159. document against changes so it can be released with some hope of
  10160. stability.  Carries the strong implication that the item in    question
  10161. will `unfreeze' at some future date.  "OK, fix that    bug and we'll
  10162. freeze for release."
  10163.  
  10164.    There are more specific constructions on this term.  A `feature
  10165. freeze', for example, locks out modifications intended to introduce
  10166. new features but still allows bugfixes and completion of existing
  10167. features; a `code freeze' connotes no more changes at all.  At    Sun
  10168. Microsystems and elsewhere, one may also hear references to    `code
  10169. slush' -- that is, an almost-but-not-quite frozen state.
  10170.  
  10171.    :fried: adj.  1. [common] Non-working due to hardware    failure;
  10172. burnt out.  Especially used of hardware brought down by a    `power
  10173. glitch' (see {glitch}), {drop-outs}, a short, or    some other
  10174. electrical event.  (Sometimes this literally happens to    electronic
  10175. circuits!  In particular, resistors can burn out and    transformers
  10176. can melt down, emitting noxious smoke -- see    {friode}, {SED} and
  10177. {LER}.  However, this term is also    used metaphorically.)  Compare
  10178. {frotzed}.  2. [common] Of    people, exhausted.  Said particularly of
  10179. those who continue to work    in such a state.  Often used as an
  10180. explanation or excuse.  "Yeah,    I know that fix destroyed the file
  10181. system, but I was fried when I    put it in."  Esp. common in
  10182. conjunction with `brain': "My    brain is fried today, I'm very short
  10183. on sleep."
  10184.  
  10185.    :frink: /frink/ v.  The unknown ur-verb, fill in your own
  10186. meaning.  Found esp. on the Usenet newsgroup alt.fan.lemurs,    where
  10187. it is said that the lemurs know what `frink' means, but    they aren't
  10188. telling.  Compare {gorets}.
  10189.  
  10190.    :friode: /fri:'ohd/ n.  [TMRC] A reversible (that is, fused    or
  10191. blown) diode.  Compare {fried}; see also {SED}, {LER}.
  10192.  
  10193.    :fritterware: n.  An excess of capability that serves no
  10194. productive end.  The canonical example is font-diddling software on
  10195. the Mac (see {macdink}); the term describes anything that eats    huge
  10196. amounts of time for quite marginal gains in function but    seduces
  10197. people into using it anyway.  See also {window    shopping}.
  10198.  
  10199.    :frob: /frob/ 1. n.  [MIT; very common] The {TMRC}    definition was
  10200. "FROB = a protruding arm or trunnion"; by    metaphoric extension, a
  10201. `frob' is any random small thing; an    object that you can comfortably
  10202. hold in one hand; something you can    frob (sense 2).  See {frobnitz}.
  10203. 2. vt.  Abbreviated form    of {frobnicate}.  3. [from the {MUD}
  10204. world] A command on some    MUDs that changes a player's experience
  10205. level (this can be used to    make wizards); also, to request {wizard}
  10206. privileges on the    `professional courtesy' grounds that one is a
  10207. wizard elsewhere.     The command is actually `frobnicate' but is
  10208. universally abbreviated    to the shorter form.
  10209.  
  10210.    :frobnicate: /frob'ni-kayt/ vt.  [Poss. derived from    {frobnitz},
  10211. and usually abbreviated to {frob}, but    `frobnicate' is recognized as
  10212. the official full form.] To    manipulate or adjust, to tweak.  One
  10213. frequently frobs bits or other    2-state devices.  Thus: "Please frob
  10214. the light switch" (that is,    flip it), but also "Stop frobbing that
  10215. clasp; you'll break it".     One also sees the construction `to frob a
  10216. frob'.  See {tweak}    and {twiddle}.
  10217.  
  10218.    Usage: frob, twiddle, and tweak sometimes connote points along a
  10219. continuum.  `Frob' connotes aimless manipulation; `twiddle'    connotes
  10220. gross manipulation, often a coarse search for a proper    setting;
  10221. `tweak' connotes fine-tuning.  If someone is turning a    knob on an
  10222. oscilloscope, then if he's carefully adjusting it, he is    probably
  10223. tweaking it; if he is just turning it but looking at the    screen, he
  10224. is probably twiddling it; but if he's just doing it    because turning
  10225. a knob is fun, he's frobbing it.  The variant    `frobnosticate' has
  10226. been recently reported.
  10227.  
  10228.    :frobnitz: /frob'nits/, pl. `frobnitzem' /frob'nit-zm/ or
  10229. `frobni' /frob'ni:/ n.  [TMRC] An unspecified physical    object, a
  10230. widget.  Also refers to electronic black boxes.  This    rare form is
  10231. usually abbreviated to `frotz', or more commonly to    {frob}.  Also
  10232. used are `frobnule' (/frob'n[y]ool/) and    `frobule' (/frob'yool/).
  10233. Starting perhaps in 1979, `frobozz'    /fr*-boz'/ (plural: `frobbotzim'
  10234. /fr*-bot'zm/) has also    become very popular, largely through its
  10235. exposure as a name via    {Zork}.  These variants can also be applied
  10236. to nonphysical    objects, such as data structures.
  10237.  
  10238.    Pete Samson, compiler of the original {TMRC} lexicon, adds,
  10239. "Under the TMRC [railroad] layout were many storage boxes, managed
  10240. (in 1958) by David R. Sawyer.  Several had fanciful designations
  10241. written on them, such as `Frobnitz Coil Oil'.  Perhaps DRS intended
  10242. Frobnitz to be a proper name, but the name was quickly taken for    the
  10243. thing".  This was almost certainly the origin of the    term.
  10244.  
  10245.    :frog: alt. `phrog'  1. interj. Term of disgust (we seem    to have
  10246. a lot of them).  2. Used as a name for just about anything.     See
  10247. {foo}.  3. n. Of things, a crock.  4. n. Of people,    somewhere in
  10248. between a turkey and a toad.  5. `froggy':    adj. Similar to
  10249. {bagbiting}, but milder.  "This froggy program    is taking forever to
  10250. run!"
  10251.  
  10252.    :frogging: [University of Waterloo] v.  1. Partial corruption    of
  10253. a text file or input stream by some bug or consistent glitch, as
  10254. opposed to random events like line noise or media failures.  Might
  10255. occur, for example, if one bit of each incoming character on a tty
  10256. were stuck, so that some characters were correct and others were
  10257. not.  See {terminak} for a historical example and compare    {dread
  10258. high-bit disease}.  2. By extension, accidental display    of text in a
  10259. mode where the output device emits special symbols or    mnemonics
  10260. rather than conventional ASCII.  This often happens, for    example,
  10261. when using a terminal or comm program on a device like an    IBM PC
  10262. with a special `high-half' character set and with the    bit-parity
  10263. assumption wrong.  A hacker sufficiently familiar with    ASCII bit
  10264. patterns might be able to read the display anyway.
  10265.  
  10266.    :front end: n.  1. An intermediary computer that does    set-up and
  10267. filtering for another (usually more powerful but less    friendly)
  10268. machine (a `back end').  2. What you're talking to when    you have a
  10269. conversation with someone who is making replies without    paying
  10270. attention.  "Look at the dancing elephants!"  "Uh-huh."     "Do you
  10271. know what I just said?"  "Sorry, you were talking to the    front end."
  10272. 3. Software that provides an interface to another    program `behind'
  10273. it, which may not be as user-friendly.     Probably from analogy with
  10274. hardware front-ends (see sense 1) that    interfaced with mainframes.
  10275.  
  10276.    :frotz: /frots/  1. n. See {frobnitz}.  2. `mumble    frotz': An
  10277. interjection of mildest disgust.
  10278.  
  10279.    :frotzed: /frotst/ adj.  {down} because of hardware    problems.
  10280. Compare {fried}.  A machine that is merely frotzed    may be fixable
  10281. without replacing parts, but a fried machine is more    seriously
  10282. damaged.
  10283.  
  10284.    :frowney: n.  (alt. `frowney face') See {emoticon}.
  10285.  
  10286.    :FRS: // n.,obs.  Abbreviation for "Freely Redistributable
  10287. Software" which entered general use on the Internet in 1995 after
  10288. years of low-level confusion over what exactly to call software
  10289. written to be passed around and shared (contending terms including
  10290. {freeware}, {shareware}, and `sourceware' were never    universally
  10291. felt to be satisfactory for various subtle reasons).     The first
  10292. formal conference on freely redistributable software was    held in
  10293. Cambridge, Massachussetts, in February 1996 (sponsored by the    Free
  10294. Software Foundation). The conference organizers used the FRS
  10295. abbreviation heavily in its calls for papers and other literature
  10296. during 1995. The term was in steady through not common use until
  10297. 1998 and the invention of {open source}.
  10298.  
  10299.    :fry:  1. vi. To fail.  Said especially of smoke-producing
  10300. hardware failures.  More generally, to become non-working.  Usage:
  10301. never said of software, only of hardware and humans.  See    {fried},
  10302. {magic smoke}.  2. vt. To cause to fail; to    {roach}, {toast}, or
  10303. {hose} a piece of hardware.  Never    used of software or humans, but
  10304. compare {fried}.
  10305.  
  10306.    :fscking: /fus'-king/ or /eff'-seek-ing/ adj.     [Usenet; common]
  10307. Fucking, in the expletive sense (it refers to the    Unix
  10308. filesystem-repair command fsck(1), of which it can be said    that if
  10309. you have to use it at all you are having a bad day).     Originated on
  10310. {scary devil monastery} and the bofh.net    newsgroups, but became much
  10311. more widespread following the passage    of {CDA}.  Also occasionally
  10312. seen in the variant "What the    fsck?"
  10313.  
  10314.    :FSF: /F-S-F/ abbrev.  Common abbreviation (both spoken and
  10315. written) for the name of the Free Software Foundation, a nonprofit
  10316. educational association formed to support the {GNU}    project.
  10317.  
  10318.    :FTP: /F-T-P/, _not_ /fit'ip/  1. [techspeak] n. The    File
  10319. Transfer Protocol for transmitting files between systems on    the
  10320. Internet.  2. vt. To {beam} a file using the File Transfer    Protocol.
  10321. 3. Sometimes used as a generic even for file transfers    not using
  10322. {FTP}.  "Lemme get a copy of "Wuthering    Heights" ftp'd from uunet."
  10323.  
  10324.    :FUBAR: n.  The Failed UniBus Address Register in a VAX.  A    good
  10325. example of how jargon can occasionally be snuck past the    {suit}s;
  10326. see {foobar}, and {foo} for a fuller etymology.
  10327.  
  10328.    :fuck me harder: excl.  Sometimes uttered in response to
  10329. egregious misbehavior, esp. in software, and esp. of    misbehaviors
  10330. which seem unfairly persistent (as though designed in    by the imp of
  10331. the perverse).  Often theatrically elaborated:    "Aiighhh! Fuck me
  10332. with a piledriver and 16 feet of curare-tipped    wrought-iron fence
  10333. _and no lubricants_!" The phrase is    sometimes heard abbreviated
  10334. `FMH' in polite company.
  10335.  
  10336.    [This entry is an extreme example of the hackish habit of coining
  10337. elaborate and evocative terms for lossage. Here we see a quite
  10338. self-conscious parody of mainstream expletives that has become a
  10339. running gag in part of the hacker culture; it illustrates the
  10340. hackish tendency to turn any situation, even one of extreme
  10341. frustration, into an intellectual game (the point being, in this
  10342. case, to creatively produce a long-winded description of the    most
  10343. anatomically absurd mental image possible -- the short forms
  10344. implicitly allude to all the ridiculous long forms ever spoken).
  10345. Scatological language is actually relatively uncommon among    hackers,
  10346. and there was some controversy over whether this entry    ought to be
  10347. included at all.  As it reflects a live usage    recognizably peculiar
  10348. to the hacker culture, we feel it is    in the hackish spirit of
  10349. truthfulness and opposition to all    forms of censorship to record it
  10350. here. --ESR & GLS]
  10351.  
  10352.    :FUD: /fuhd/ n.  Defined by Gene Amdahl after he left IBM to
  10353. found his own company: "FUD is the fear, uncertainty, and doubt    that
  10354. IBM sales people instill in the minds of potential customers    who
  10355. might be considering [Amdahl] products."  The idea, of course,    was
  10356. to persuade them to go with safe IBM gear rather than with
  10357. competitors' equipment.  This implicit coercion was traditionally
  10358. accomplished by promising that Good Things would happen to people
  10359. who stuck with IBM, but Dark Shadows loomed over the future of
  10360. competitors' equipment or software.  See {IBM}.  After 1990    the term
  10361. FUD was associated increasingly frequently with    {Microsoft}, and has
  10362. become generalized to refer to any kind of    disinformation used as a
  10363. competitive weapon.
  10364.  
  10365.    :FUD wars: /fuhd worz/ n.  [from {FUD}] Political    posturing
  10366. engaged in by hardware and software vendors ostensibly    committed to
  10367. standardization but actually willing to fragment the    market to
  10368. protect their own shares.  The Unix International vs.     OSF conflict
  10369. about Unix standards was one outstanding example;    Microsoft vs.
  10370. Netscape vs. W3C about HTML standards is another.
  10371.  
  10372.    :fudge:  1. vt. To perform in an incomplete but marginally
  10373. acceptable way, particularly with respect to the writing of a
  10374. program.  "I didn't feel like going through that pain and    suffering,
  10375. so I fudged it -- I'll fix it later."  2. n. The    resulting code.
  10376.  
  10377.    :fudge factor: n.  [common] A value or parameter that is    varied
  10378. in an ad hoc way to produce the desired result.  The terms
  10379. `tolerance' and {slop} are also used, though these usually    indicate
  10380. a one-sided leeway, such as a buffer that is made larger    than
  10381. necessary because one isn't sure exactly how large it needs to    be,
  10382. and it is better to waste a little space than to lose    completely for
  10383. not having enough.  A fudge factor, on the other    hand, can often be
  10384. tweaked in more than one direction.  A good    example is the `fuzz'
  10385. typically allowed in floating-point    calculations: two numbers being
  10386. compared for equality must be    allowed to differ by a small amount;
  10387. if that amount is too small, a    computation may never terminate,
  10388. while if it is too large, results    will be needlessly inaccurate.
  10389. Fudge factors are frequently    adjusted incorrectly by programmers who
  10390. don't fully understand    their import.  See also {coefficient of X}.
  10391.  
  10392.    :fuel up: vi.  To eat or drink hurriedly in order to get back    to
  10393. hacking.  "Food-p?"  "Yeah, let's fuel up."  "Time for a
  10394. {great-wall}!"  See also {{oriental food}}.
  10395.  
  10396.    :Full Monty: n.  See {monty}, sense 2.
  10397.  
  10398.    :fum: n.  [XEROX PARC] At PARC, often the third of the    standard
  10399. {metasyntactic variable}s (after {foo} and    {bar}).  Competes with
  10400. {baz}, which is more common outside    PARC.
  10401.  
  10402.    :functino: n.  [uncommon, U.K.; originally a serendipitous    typo
  10403. in 1994] A pointer to a function in C and C++. By association    with
  10404. sub-atomic particles such as the neutrino, it accurately    conveys an
  10405. impression of smallness (one pointer is four bytes on    most systems)
  10406. and speed (hackers can and do use arrays of functinos    to replace a
  10407. switch() statement).
  10408.  
  10409.    :funky: adj.  Said of something that functions, but in a    slightly
  10410. strange, klugey way.  It does the job and would be    difficult to
  10411. change, so its obvious non-optimality is left alone.     Often used to
  10412. describe interfaces.  The more bugs something has    that nobody has
  10413. bothered to fix because workarounds are easier, the    funkier it is.
  10414. {TECO} and UUCP are funky.  The Intel i860's    exception handling is
  10415. extraordinarily funky.  Most standards    acquire funkiness as they
  10416. age.  "The new mailer is installed, but    is still somewhat funky; if
  10417. it bounces your mail for no reason, try    resubmitting it."  "This
  10418. UART is pretty funky.  The data ready    line is active-high in
  10419. interrupt mode and active-low in DMA mode."
  10420.  
  10421.    :funny money: n.  1. Notional `dollar' units of computing    time
  10422. and/or storage handed to students at the beginning of a    computer
  10423. course; also called `play money' or `purple money' (in    implicit
  10424. opposition to real or `green' money).  In New Zealand    and Germany
  10425. the odd usage `paper money' has been recorded; in    Germany, the
  10426. particularly amusing synonym `transfer ruble'    commemmorates the
  10427. funny money used for trade between COMECON    countries back when the
  10428. Soviet Bloc still existed.  When your funny    money ran out, your
  10429. account froze and you needed to go to a    professor to get more.
  10430. Fortunately, the plunging cost of    timesharing cycles has made this
  10431. less common.  The amounts    allocated were almost invariably too
  10432. small, even for the    non-hackers who wanted to slide by with minimum
  10433. work.  In extreme    cases, the practice led to small-scale black
  10434. markets in bootlegged    computer accounts.  2. By extension, phantom
  10435. money or quantity    tickets of any kind used as a resource-allocation
  10436. hack within a    system.  Antonym: `real money'.
  10437.  
  10438.    :furrfu: // excl.  [Usenet] Written-only equivalent of    "Sheesh!";
  10439. it is, in fact, "sheesh" modified by {rot13}.     Evolved in mid-1992
  10440. as a response to notably silly postings    repeating urban myths on the
  10441. Usenet newsgroup    alt.folklore.urban, after some posters complained
  10442. that    "Sheesh!" as a response to {newbie}s was being overused.  See
  10443. also {FOAF}.
  10444.  
  10445.    :fuzzball: n.  [TCP/IP hackers] A DEC LSI-11 running a    particular
  10446. suite of homebrewed software written by Dave Mills and    assorted
  10447. co-conspirators, used in the early 1980s for Internet    protocol
  10448. testbedding and experimentation.  These were used as    NSFnet backbone
  10449. sites in its early 56kb-line days; a few were still    active on the
  10450. Internet as late as mid-1993, doing odd jobs such as    network time
  10451. service.
  10452.  
  10453. = G =
  10454. =====
  10455.  
  10456.    :G: pref.,suff.  [SI] See {{quantifiers}}.
  10457.  
  10458.    :g-file: n.  [Commodore BBS culture] Any file that is written
  10459. with the intention of being read by a human rather than a machine,
  10460. such as the Jargon File, documentation, humor files, hacker lore,
  10461. and technical materials.
  10462.  
  10463.    This term survives from the nearly forgotten Commodore 64
  10464. underground and BBS community. In the early 80s, C-Net had emerged
  10465. as the most popular C64 BBS software for systems which encouraged
  10466. messaging (as opposed to file transfer).  There were three main
  10467. options for files: Program files (p-files), which served the same
  10468. function as `doors' in today's systems, UD files (the user
  10469. upload/download section), and g-files.  Anything that was meant to
  10470. be read was included in g-files.
  10471.  
  10472.    :gabriel: /gay'bree-*l/ n.  [for Dick Gabriel, SAIL LISP    hacker
  10473. and volleyball fanatic] An unnecessary (in the opinion of    the
  10474. opponent) stalling tactic, e.g., tying one's shoelaces or    combing
  10475. one's hair repeatedly, asking the time, etc.  Also used to    refer to
  10476. the perpetrator of such tactics.  Also, `pulling a    Gabriel',
  10477. `Gabriel mode'.
  10478.  
  10479.    :gag: vi.  Equivalent to {choke}, but connotes more    disgust.
  10480. "Hey, this is FORTRAN code.  No wonder the C compiler    gagged."  See
  10481. also {barf}.
  10482.  
  10483.    :gang bang: n.  The use of large numbers of loosely coupled
  10484. programmers in an attempt to wedge a great many features into a
  10485. product in a short time.  Though there have been memorable gang
  10486. bangs (e.g., that over-the-weekend assembler port mentioned in
  10487. Steven Levy's "Hackers"), most are perpetrated by large    companies
  10488. trying to meet deadlines; the inevitable result is    enormous buggy
  10489. masses of code entirely lacking in    {orthogonal}ity.  When
  10490. market-driven managers make a list of all    the features the
  10491. competition has and assign one programmer to    implement each, the
  10492. probability of maintaining a coherent (or even    functional) design
  10493. goes infinitesimal.  See also {firefighting},    {Mongolian Hordes
  10494. technique}, {Conway's Law}.
  10495.  
  10496.    :garbage collect: vi.  (also `garbage collection', n.) See    {GC}.
  10497.  
  10498.    :garply: /gar'plee/ n.  [Stanford] Another metasyntactic    variable
  10499. (see {foo}); once popular among SAIL hackers.
  10500.  
  10501.    :gas:  [as in `gas chamber'] 1. interj. A term of disgust    and
  10502. hatred, implying that gas should be dispensed in generous
  10503. quantities, thereby exterminating the source of irritation.  "Some
  10504. loser just reloaded the system for no reason!  Gas!"  2. interj. A
  10505. suggestion that someone or something ought to be flushed out of
  10506. mercy.  "The system's getting {wedged} every few minutes.     Gas!"  3.
  10507. vt.  To {flush} (sense 1).  "You should gas that old    crufty
  10508. software."  4. [IBM] n. Dead space in nonsequentially    organized
  10509. files that was occupied by data that has since been    deleted; the
  10510. compression operation that removes it is called    `degassing' (by
  10511. analogy, perhaps, with the use of the same term    in vacuum
  10512. technology).  5. [IBM] n. Empty space on a disk that has    been
  10513. clandestinely allocated against future need.
  10514.  
  10515.    :gaseous: adj.  Deserving of being {gas}sed.  Disseminated    by
  10516. Geoff Goodfellow while at SRI; became particularly popular after    the
  10517. Moscone-Milk killings in San Francisco, when it was learned    that the
  10518. defendant Dan White (a politician who had supported    Proposition 7)
  10519. would get the gas chamber under Proposition 7 if    convicted of
  10520. first-degree murder (he was eventually convicted of    manslaughter).
  10521.  
  10522.    :gawble: /gaw'bl/ n.  See {chawmp}.
  10523.  
  10524.    :GC: /G-C/  [from LISP terminology; `Garbage Collect']    1. vt. To
  10525. clean up and throw away useless things.  "I think I'll    GC the top of
  10526. my desk today."  When said of files, this is    equivalent to {GFR}.
  10527. 2. vt. To recycle, reclaim, or put to    another use.  3. n. An
  10528. instantiation of the garbage collector    process.
  10529.  
  10530.    `Garbage collection' is computer-science techspeak for a
  10531. particular class of strategies for dynamically but transparently
  10532. reallocating computer memory (i.e., without requiring explicit
  10533. allocation and deallocation by higher-level software).  One such
  10534. strategy involves periodically scanning all the data in memory and
  10535. determining what is no longer accessible; useless data items are
  10536. then discarded so that the memory they occupy can be recycled and
  10537. used for another purpose.  Implementations of the LISP language
  10538. usually use garbage collection.
  10539.  
  10540.    In jargon, the full phrase is sometimes heard but the {abbrev}    GC
  10541. is more frequently used because it is shorter.  Note that there    is
  10542. an ambiguity in usage that has to be resolved by context: "I'm    going
  10543. to garbage-collect my desk" usually means to clean out the    drawers,
  10544. but it could also mean to throw away or recycle the desk    itself.
  10545.  
  10546.    :GCOS:: /jee'kohs/ n.  A {quick-and-dirty} {clone}    of System/360
  10547. DOS that emerged from GE around 1970; originally    called GECOS (the
  10548. General Electric Comprehensive Operating System).     Later kluged to
  10549. support primitive timesharing and transaction    processing.  After the
  10550. buyout of GE's computer division by    Honeywell, the name was changed
  10551. to General Comprehensive Operating    System (GCOS).  Other OS groups
  10552. at Honeywell began referring to it    as `God's Chosen Operating
  10553. System', allegedly in reaction to the    GCOS crowd's uninformed and
  10554. snotty attitude about the superiority    of their product.  All this
  10555. might be of zero interest, except for    two facts: (1) The GCOS people
  10556. won the political war, and this led    in the orphaning and eventual
  10557. death of Honeywell {{Multics}}, and    (2) GECOS/GCOS left one
  10558. permanent mark on Unix.  Some early Unix    systems at Bell Labs used
  10559. GCOS machines for print spooling and    various other services; the
  10560. field added to `/etc/passwd' to    carry GCOS ID information was called
  10561. the `GECOS field' and    survives today as the `pw_gecos' member used
  10562. for the user's    full name and other human-ID information.  GCOS later
  10563. played a    major role in keeping Honeywell a dismal also-ran in the
  10564. mainframe    market, and was itself mostly ditched for Unix in the late
  10565. 1980s    when Honeywell began to retire its aging {big iron} designs.
  10566.  
  10567.    :GECOS:: /jee'kohs/ n.  See {{GCOS}}.
  10568.  
  10569.    :gedanken: /g*-dahn'kn/ adj.  Ungrounded; impractical; not
  10570. well-thought-out; untried; untested.
  10571.  
  10572.    `Gedanken' is a German word for `thought'.  A thought    experiment
  10573. is one you carry out in your head.  In physics, the term    `gedanken
  10574. experiment' is used to refer to an experiment that is    impractical to
  10575. carry out, but useful to consider because it can    be reasoned about
  10576. theoretically.  (A classic gedanken experiment of    relativity theory
  10577. involves thinking about a man in an elevator    accelerating through
  10578. space.)  Gedanken experiments are very useful    in physics, but must
  10579. be used with care.  It's too easy to idealize    away some important
  10580. aspect of the real world in constructing the    `apparatus'.
  10581.  
  10582.    Among hackers, accordingly, the word has a pejorative connotation.
  10583.  It is typically used of a project, especially one in artificial
  10584. intelligence research, that is written up in grand detail    (typically
  10585. as a Ph.D.  thesis) without ever being implemented to    any great
  10586. extent.  Such a project is usually perpetrated by people    who aren't
  10587. very good hackers or find programming distasteful or are    just in a
  10588. hurry.  A `gedanken thesis' is usually marked by an    obvious lack of
  10589. intuition about what is programmable and what is    not, and about what
  10590. does and does not constitute a clear    specification of an algorithm.
  10591. See also {AI-complete},    {DWIM}.
  10592.  
  10593.    :geef: v.  [ostensibly from `gefingerpoken']    vt. Syn. {mung}.
  10594. See also {blinkenlights}.
  10595.  
  10596.    :geek code: n.  (also "Code of the Geeks"). A set of    codes
  10597. commonly used in {sig block}s to broadcast the interests,    skills,
  10598. and aspirations of the poster.  Features a G at the left    margin
  10599. followed by numerous letter codes, often suffixed with    plusses or
  10600. minuses.  Because many net users are involved in    computer science,
  10601. the most common prefix is `GCS'.  To see a copy    of the current code,
  10602. browse `http://www.geekcode.com'.  Here    is a sample geek code (that
  10603. of Robert Hayden, the code's inventor)    from that page:
  10604.  
  10605.      -----BEGIN GEEK CODE BLOCK-----
  10606.      Version: 3.1
  10607.      GED/J d-- s:++>: a- C++(++++)$ ULUO++ P+>+++ L++ !E---- W+(---) N+++
  10608.      o+ K+++ w+(---) O- M+$>++ V-- PS++(+++)>$ PE++(+)>$ Y++ PGP++ t- 5+++
  10609.      X++ R+++>$ tv+ b+ DI+++ D+++ G+++++>$ e++$>++++ h r-- y+**
  10610.      ------END GEEK CODE BLOCK------
  10611.  
  10612.    The geek code originated in 1993; it was inspired (according to the
  10613.  inventor) by previous "bear", "smurf" and "twink"
  10614. style-and-sexual-preference codes from lesbian and gay    {newsgroup}s.
  10615. It has in turn spawned imitators; there is now    even a "Saturn geek
  10616. code" for owners of the Saturn car.  See also    {computer geek}.
  10617.  
  10618.    :geek out: vi.  To temporarily enter techno-nerd mode while in    a
  10619. non-hackish context, for example at parties held near computer
  10620. equipment.  Especially used when you need to do or say something
  10621. highly technical and don't have time to explain: "Pardon me while    I
  10622. geek out for a moment."  See {computer geek}; see also    {propeller
  10623. head}.
  10624.  
  10625.    :gen: /jen/ n.,v.  Short for {generate}, used frequently    in both
  10626. spoken and written contexts.
  10627.  
  10628.    :gender mender: n.  [common] A cable connector shell with    either
  10629. two male or two female connectors on it, used to correct the
  10630. mismatches that result when some {loser} didn't understand the
  10631. RS232C specification and the distinction between DTE and DCE.     Used
  10632. esp. for RS-232C parts in either the original D-25 or the    IBM PC's
  10633. bogus D-9 format.  Also called `gender bender',    `gender blender',
  10634. `sex changer', and even `homosexual    adapter;' however, there appears
  10635. to be some confusion as to whether    a `male homosexual adapter' has
  10636. pins on both sides (is doubly    male) or sockets on both sides
  10637. (connects two males).
  10638.  
  10639.    :General Public Virus: n.  Pejorative name for some    versions of
  10640. the {GNU} project {copyleft} or General Public    License (GPL), which
  10641. requires that any tools or {app}s    incorporating copylefted code must
  10642. be source-distributed on the    same counter-commercial terms as GNU
  10643. stuff.  Thus it is alleged    that the copyleft `infects' software
  10644. generated with GNU tools,    which may in turn infect other software
  10645. that reuses any of its    code.  The Free Software Foundation's
  10646. official position as of    January 1991 is that copyright law limits
  10647. the scope of the GPL to    "programs textually incorporating
  10648. significant amounts of GNU    code", and that the `infection' is not
  10649. passed on to third    parties unless actual GNU source is transmitted.
  10650. Nevertheless,    widespread suspicion that the {copyleft} language is
  10651. `boobytrapped' has caused many developers to avoid using GNU    tools
  10652. and the GPL.  Changes in the language of the version 2.0    GPL did not
  10653. eliminate this problem.
  10654.  
  10655.    :generate: vt.  To produce something according to an algorithm    or
  10656. program or set of rules, or as a (possibly unintended) side    effect
  10657. of the execution of an algorithm or program.  The opposite    of
  10658. {parse}.  This term retains its mechanistic connotations    (though
  10659. often humorously) when used of human behavior.  "The guy    is rational
  10660. most of the time, but mention nuclear energy around him    and he'll
  10661. generate {infinite} flamage."
  10662.  
  10663.    :Genius From Mars Technique: n.  [TMRC] A visionary quality    which
  10664. enables one to ignore the standard approach and come up with    a
  10665. totally unexpected new algorithm.  An attack on a problem from an
  10666. offbeat angle that no one has ever thought of before, but that in
  10667. retrospect makes total sense.  Compare {grok}, {zen}.
  10668.  
  10669.    :gensym: /jen'sim/  [from MacLISP for `generated symbol']    1. v.
  10670. To invent a new name for something temporary, in such a way    that the
  10671. name is almost certainly not in conflict with one already    in use.
  10672. 2. n.  The resulting name.  The canonical form of a gensym    is
  10673. `Gnnnn' where nnnn represents a number; any LISP hacker would
  10674. recognize G0093 (for example) as a gensym.  3. A freshly generated
  10675. data structure with a gensymmed name.  Gensymmed names are useful
  10676. for storing or uniquely identifying crufties (see {cruft}).
  10677.  
  10678.    :Get a life!: imp.  Hacker-standard way of suggesting that the
  10679. person to whom it is directed has succumbed to terminal geekdom    (see
  10680. {computer geek}).  Often heard on {Usenet}, esp. as a    way of
  10681. suggesting that the target is taking some obscure issue of
  10682. {theology} too seriously.  This exhortation was popularized by
  10683. William Shatner on a "Saturday Night Live" episode in a    speech that
  10684. ended "Get a _life_!", but some respondents    believe it to have been
  10685. in use before then.  It was certainly in    wide use among hackers for
  10686. at least five years before achieving    mainstream currency in early
  10687. 1992.
  10688.  
  10689.    :Get a real computer!: imp.  Typical hacker response to news    that
  10690. somebody is having trouble getting work done on a system that    (a) is
  10691. single-tasking, (b) has no hard disk, or (c) has an address    space
  10692. smaller than 16 megabytes.  This is as of early 1996; note    that the
  10693. threshold for `real computer' rises with time.  See    {bitty box} and
  10694. {toy}.
  10695.  
  10696.    :GFR: /G-F-R/ vt.  [ITS: from `Grim File Reaper', an ITS and    LISP
  10697. Machine utility] To remove a file or files according to some
  10698. program-automated or semi-automatic manual procedure, especially    one
  10699. designed to reclaim mass storage space or reduce name-space    clutter
  10700. (the original GFR actually moved files to tape).  Often    generalized
  10701. to pieces of data below file level.  "I used to have    his phone
  10702. number, but I guess I {GFR}ed it."  See also    {prowler}, {reaper}.
  10703. Compare {GC}, which discards only    provably worthless stuff.
  10704.  
  10705.    :GIFs at 11:  [Fidonet] Fidonet alternative to {film at    11},
  10706. especially in echoes (Fidonet topic areas) where uuencoded    GIFs are
  10707. permitted.  Other formats, especially JPEG and MPEG,    may be
  10708. referenced instead.
  10709.  
  10710.    :gig: /jig/ or /gig/ n.  [SI] See {{quantifiers}}.
  10711.  
  10712.    :giga-: /ji'ga/ or /gi'ga/ pref.  [SI] See    {{quantifiers}}.
  10713.  
  10714.    :GIGO: /gi:'goh/ [acronym]  1. `Garbage In, Garbage Out' --
  10715. usually said in response to {luser}s who complain that a program
  10716. didn't "do the right thing" when given imperfect input or    otherwise
  10717. mistreated in some way.  Also commonly used to describe    failures in
  10718. human decision making due to faulty, incomplete, or    imprecise data.
  10719. 2. `Garbage In, Gospel Out': this more recent    expansion is a
  10720. sardonic comment on the tendency human beings have    to put excessive
  10721. trust in `computerized' data.
  10722.  
  10723.    :gilley: n.  [Usenet] The unit of analogical {bogosity}.
  10724. According to its originator, the standard for one gilley was "the
  10725. act of bogotoficiously comparing the shutting down of 1000 machines
  10726. for a day with the killing of one person".  The milligilley has    been
  10727. found to suffice for most normal conversational exchanges.
  10728.  
  10729.    :gillion: /gil'y*n/ or /jil'y*n/ n.  [formed from    {giga-} by
  10730. analogy with mega/million and tera/trillion]    10^9. Same as an
  10731. American billion or a British `milliard'.     How one pronounces this
  10732. depends on whether one speaks {giga-}    with a hard or soft `g'.
  10733.  
  10734.    :GIPS: /gips/ or /jips/ n.  [analogy with {MIPS}]
  10735. Giga-Instructions per Second (also possibly `Gillions of
  10736. Instructions per Second'; see {gillion}).  In 1991, this is used    of
  10737. only a handful of highly parallel machines, but this is expected    to
  10738. change.  Compare {KIPS}.
  10739.  
  10740.    :glark: /glark/ vt.  To figure something out from context.     "The
  10741. System III manuals are pretty poor, but you can generally    glark the
  10742. meaning from context."  Interestingly, the word was    originally
  10743. `glork'; the context was "This gubblick contains many    nonsklarkish
  10744. English flutzpahs, but the overall pluggandisp can be    glorked [sic]
  10745. from context" (David Moser, quoted by Douglas    Hofstadter in his
  10746. "Metamagical Themas" column in the January    1981 "Scientific
  10747. American").  It is conjectured that hacker    usage mutated the verb to
  10748. `glark' because {glork} was already    an established jargon term (some
  10749. hackers do report using the    original term).  Compare {grok}, {zen}.
  10750.  
  10751.    :glass: n.  [IBM] Synonym for {silicon}.
  10752.  
  10753.    :glass tty: /glas T-T-Y/ or /glas ti'tee/ n.  A terminal    that has
  10754. a display screen but which, because of hardware or    software
  10755. limitations, behaves like a teletype or some other    printing
  10756. terminal, thereby combining the disadvantages of both:    like a
  10757. printing terminal, it can't do fancy display hacks, and like    a
  10758. display terminal, it doesn't produce hard copy.  An example is    the
  10759. early `dumb' version of Lear-Siegler ADM 3 (without cursor    control).
  10760. See {tube}, {tty}; compare {dumb terminal},    {smart terminal}.  See
  10761. "{TV Typewriters}" (Appendix    A) for an interesting true story about
  10762. a glass tty.
  10763.  
  10764.    :glassfet: /glas'fet/ n.  [by analogy with MOSFET, the    acronym
  10765. for `Metal-Oxide-Semiconductor Field-Effect Transistor']    Syn.
  10766. {firebottle}, a humorous way to refer to a vacuum tube.
  10767.  
  10768.    :glitch: /glich/  [very common; from German `glitschig' to    slip,
  10769. via Yiddish `glitshen', to slide or skid] 1. n. A    sudden
  10770. interruption in electric service, sanity, continuity, or    program
  10771. function.  Sometimes recoverable.  An interruption in    electric
  10772. service is specifically called a `power glitch' (also    {power hit}),
  10773. of grave concern because it usually crashes all    the computers.  In
  10774. jargon, though, a hacker who got to the middle    of a sentence and
  10775. then forgot how he or she intended to complete it    might say, "Sorry,
  10776. I just glitched".  2. vi. To commit a    glitch.  See {gritch}.  3. vt.
  10777. [Stanford] To scroll a    display screen, esp. several lines at a
  10778. time.  {{WAITS}}    terminals used to do this in order to avoid
  10779. continuous scrolling,    which is distracting to the eye.  4. obs.
  10780. Same as {magic    cookie}, sense 2.
  10781.  
  10782.    All these uses of `glitch' derive from the specific technical
  10783. meaning the term has in the electronic hardware world, where it is
  10784. now techspeak.  A glitch can occur when the inputs of a circuit
  10785. change, and the outputs change to some {random} value for some    very
  10786. brief time before they settle down to the correct value.  If    another
  10787. circuit inspects the output at just the wrong time, reading    the
  10788. random value, the results can be very wrong and very hard to    debug
  10789. (a glitch is one of many causes of electronic {heisenbug}s).
  10790.  
  10791.    :glob: /glob/, _not_ /glohb/ v.,n.  [Unix;    common] To expand
  10792. special characters in a wildcarded name, or the    act of so doing (the
  10793. action is also called `globbing').  The Unix    conventions for
  10794. filename wildcarding have become sufficiently    pervasive that many
  10795. hackers use some of them in written English,    especially in email or
  10796. news on technical topics.  Those commonly    encountered include the
  10797. following:
  10798.  
  10799.     *
  10800.           wildcard for any string (see also {UN*X})
  10801.  
  10802.     ?
  10803.           wildcard for any single character (generally read this way
  10804.           only at the beginning or in the middle of a word)
  10805.  
  10806.     []
  10807.           delimits a wildcard matching any of the enclosed characters
  10808.  
  10809.     {}
  10810.           alternation of comma-separated alternatives; thus,
  10811.           `foo{baz,qux}' would be read as `foobaz' or `fooqux'
  10812.  
  10813. Some examples: "He said his name was [KC]arl" (expresses    ambiguity).
  10814. "I don't read talk.politics.*" (any of the    talk.politics subgroups
  10815. on {Usenet}).  Other examples are given    under the entry for {X}.
  10816. Note that glob patterns are similar,    but not identical, to those
  10817. used in {regexp}s.
  10818.  
  10819.    Historical note: The jargon usage derives from `glob', the    name
  10820. of a subprogram that expanded wildcards in archaic pre-Bourne
  10821. versions of the Unix shell.
  10822.  
  10823.    :glork: /glork/  1. interj. Term of mild surprise, usually    tinged
  10824. with outrage, as when one attempts to save the results of    two hours
  10825. of editing and finds that the system has just crashed.     2. Used as a
  10826. name for just about anything.  See {foo}.     3. vt. Similar to
  10827. {glitch}, but usually used reflexively.  "My    program just glorked
  10828. itself." 4. Syn. for {glark}, which see.
  10829.  
  10830.    :glue: n.  Generic term for any interface logic or protocol    that
  10831. connects two component blocks.  For example, {Blue Glue} is    IBM's
  10832. SNA protocol, and hardware designers call anything used to    connect
  10833. large VLSI's or circuit blocks `glue logic'.
  10834.  
  10835.    :gnarly: /nar'lee/ adj.  Both {obscure} and {hairy}    (sense 1).
  10836. "{Yow!} -- the tuned assembler implementation of    BitBlt is really
  10837. gnarly!"  From a similar but less specific usage    in surfer slang.
  10838.  
  10839.    :GNU: /gnoo/, _not_ /noo/  1. [acronym: `GNU's Not    Unix!', see
  10840. {{recursive acronym}}] A Unix-workalike development    effort of the
  10841. Free Software Foundation headed by Richard Stallman
  10842. <<rms@gnu.ai.mit.edu>>.  GNU EMACS and the GNU C compiler, two    tools
  10843. designed for this project, have become very popular in    hackerdom and
  10844. elsewhere.  The GNU project was designed partly to    proselytize for
  10845. RMS's position that information is community    property and all
  10846. software source should be shared.  One of its    slogans is "Help stamp
  10847. out software hoarding!"  Though this    remains controversial (because
  10848. it implicitly denies any right of    designers to own, assign, and sell
  10849. the results of their labors),    many hackers who disagree with RMS
  10850. have nevertheless cooperated to    produce large amounts of
  10851. high-quality software for free    redistribution under the Free
  10852. Software Foundation's imprimatur.     See {EMACS}, {copyleft}, {General
  10853. Public Virus},    {Linux}.  2. Noted Unix hacker John Gilmore
  10854. <<gnu@toad.com>>,    founder of Usenet's anarchic alt.* hierarchy.
  10855.  
  10856.    :GNUMACS: /gnoo'maks/ n.  [contraction of `GNU EMACS']
  10857. Often-heard abbreviated name for the {GNU} project's flagship    tool,
  10858. {EMACS}.  Used esp. in contrast with {GOSMACS}.
  10859.  
  10860.    :go flatline: v.  [from cyberpunk SF, refers to flattening of    EEG
  10861. traces upon brain-death] (also adjectival `flatlined'). 1. To    {die},
  10862. terminate, or fail, esp. irreversibly.  In hacker    parlance, this is
  10863. used of machines only, human death being    considered somewhat too
  10864. serious a matter to employ jargon-jokes    about.  2. To go completely
  10865. quiescent; said of machines undergoing    controlled shutdown.  "You
  10866. can suffer file damage if you shut down    Unix but power off before
  10867. the system has gone flatline."  3. Of a    video tube, to fail by
  10868. losing vertical scan, so all one sees is a    bright horizontal line
  10869. bisecting the screen.
  10870.  
  10871.    :go root: vi.  [Unix; common] To temporarily enter    {root mode} in
  10872. order to perform a privileged operation.  This    use is deprecated in
  10873. Australia, where v. `root' is a synonym    for "fuck".
  10874.  
  10875.    :go-faster stripes: n.  [UK] Syn. {chrome}.  Mainstream in    some
  10876. parts of UK.
  10877.  
  10878.    :GoAT: //  [Usenet] Abbreviation: "Go Away, Troll".  See    {troll}.
  10879.  
  10880.    :gobble: vt.  1. To consume, usu. used with `up'.  "The    output
  10881. spy gobbles characters out of a {tty} output buffer."     2. To obtain,
  10882. usu. used with `down'.  "I guess I'll gobble down    a copy of the
  10883. documentation tomorrow."  See also {snarf}.
  10884.  
  10885.    :Godwin's Law: prov.  [Usenet] "As a Usenet discussion grows
  10886. longer, the probability of a comparison involving Nazis or Hitler
  10887. approaches one."  There is a tradition in many groups that, once
  10888. this occurs, that thread is over, and whoever mentioned the Nazis
  10889. has automatically lost whatever argument was in progress.  Godwin's
  10890. Law thus practically guarantees the existence of an upper bound on
  10891. thread length in those groups.
  10892.  
  10893.    :Godzillagram: /god-zil'*-gram/ n.  [from Japan's    national hero]
  10894. 1. A network packet that in theory is a broadcast to    every machine
  10895. in the universe.  The typical case is an IP datagram    whose
  10896. destination IP address is [255.255.255.255].  Fortunately,    few
  10897. gateways are foolish enough to attempt to implement this case!     2. A
  10898. network packet of maximum size.  An IP Godzillagram has 65,536
  10899. octets.  Compare {super source quench}, {Christmas tree    packet},
  10900. {martian}.
  10901.  
  10902.    :golden: adj.  [prob. from folklore's `golden egg'] When    used to
  10903. describe a magnetic medium (e.g., `golden disk',    `golden tape'),
  10904. describes one containing a tested, up-to-spec,    ready-to-ship
  10905. software version.  Compare {platinum-iridium}.
  10906.  
  10907.    :golf-ball printer: n. obs.  The IBM 2741, a slow but
  10908. letter-quality printing device and terminal based on the IBM
  10909. Selectric typewriter.  The `golf ball' was a little spherical    frob
  10910. bearing reversed embossed images of 88 different characters    arranged
  10911. on four parallels of latitude; one could change the font    by swapping
  10912. in a different golf ball.  The print element spun and    jerked
  10913. alarmingly in action and when in motion was sometimes    described as
  10914. an `infuriated golf ball'.  This was the technology    that enabled APL
  10915. to use a non-EBCDIC, non-ASCII, and in fact    completely non-standard
  10916. character set.  This put it 10 years ahead    of its time -- where it
  10917. stayed, firmly rooted, for the next 20,    until character displays
  10918. gave way to programmable bit-mapped    devices with the flexibility to
  10919. support other character sets.
  10920.  
  10921.    :gonk: /gonk/ vi.,n.  1. To prevaricate or to embellish the    truth
  10922. beyond any reasonable recognition.  In German the term is
  10923. (mythically) `gonken'; in Spanish the verb becomes `gonkar'.
  10924. "You're gonking me.  That story you just told me is a bunch of
  10925. gonk."  In German, for example, "Du gonkst mich" (You're pulling    my
  10926. leg).  See also {gonkulator}.  2. [British] To grab some    sleep at an
  10927. odd time; compare {gronk out}.
  10928.  
  10929.    :gonkulator: /gon'kyoo-lay-tr/ n.  [common; from the 1960s
  10930. "Hogan's Heroes" TV series] A pretentious piece of equipment    that
  10931. actually serves no useful purpose.  Usually used to describe    one's
  10932. least favorite piece of computer hardware.  See {gonk}.
  10933.  
  10934.    :gonzo: /gon'zoh/ adj.  [from Hunter S. Thompson]    1. With total
  10935. commitment, total concentration, and a mad sort of    panache.
  10936. (Thompson's original sense.)  2. More loosely:    Overwhelming;
  10937. outrageous; over the top; very large, esp. used of    collections of
  10938. source code, source files, or individual functions.     Has some of the
  10939. connotations of {moby} and {hairy}, but    without the implication of
  10940. obscurity or complexity.
  10941.  
  10942.    :Good Thing: n.,adj.  [very common; often capitalized;    always
  10943. pronounced as if capitalized.]  1. Self-evidently wonderful    to
  10944. anyone in a position to notice: "The Trailblazer's 19.2Kbaud    PEP
  10945. mode with on-the-fly Lempel-Ziv compression is a Good Thing for
  10946. sites relaying netnews."  2. Something that can't possibly have    any
  10947. ill side-effects and may save considerable grief later:    "Removing
  10948. the self-modifying code from that shared library would    be a Good
  10949. Thing."  3. When said of software tools or libraries, as    in "YACC is
  10950. a Good Thing", specifically connotes that the thing    has drastically
  10951. reduced a programmer's work load.  Oppose {Bad    Thing}.
  10952.  
  10953.    :gopher: n.  A type of Internet service first floated around    1991
  10954. and obsolesced around 1995 by the World Wide Web. Gopher    presents a
  10955. menuing interface to a tree or graph of links;    the links can be to
  10956. documents, runnable programs, or other gopher    menus arbitrarily far
  10957. across the net.
  10958.  
  10959.    Some claim that the gopher software, which was originally developed
  10960.  at the University of Minnesota, was named after the Minnesota
  10961. Gophers (a sports team).  Others claim the word derives from
  10962. American slang `gofer' (from "go for", dialectal "go fer"),    one
  10963. whose job is to run and fetch things.  Finally, observe that    gophers
  10964. dig long tunnels, and the idea of tunneling through the net    to find
  10965. information was a defining metaphor for the developers.     Probably
  10966. all three things were true, but with the first two coming    first and
  10967. the gopher-tunnel metaphor serendipitously adding flavor    and impetus
  10968. to the project as it developed out of its concept    stage.
  10969.  
  10970.    :gopher hole: n.  1. Any access to a {gopher}.  2. [Amateur
  10971. Packet Radio] The terrestrial analog of a {wormhole} (sense    2), from
  10972. which this term was coined.  A gopher hole links two    amateur packet
  10973. relays through some non-ham radio medium.
  10974.  
  10975.    :gorets: /gor'ets/ n.  The unknown ur-noun, fill in your own
  10976. meaning.  Found esp. on the Usenet newsgroup alt.gorets, which    seems
  10977. to be a running contest to redefine the word by implication    in the
  10978. funniest and most peculiar way, with the understanding that    no
  10979. definition is ever final.  [A correspondent from the Former    Soviet
  10980. Union informs me that `gorets' is Russian for `mountain    dweller'.
  10981. Another from France informs me that `goret' is archaic    French for a
  10982. young pig --ESR] Compare {frink}.
  10983.  
  10984.    :gorilla arm: n.  The side-effect that destroyed touch-screens    as
  10985. a mainstream input technology despite a promising start in the    early
  10986. 1980s.  It seems the designers of all those {spiffy}    touch-menu
  10987. systems failed to notice that humans aren't designed to    hold their
  10988. arms in front of their faces making small motions.     After more than
  10989. a very few selections, the arm begins to feel sore,    cramped, and
  10990. oversized -- the operator looks like a gorilla while    using the touch
  10991. screen and feels like one afterwards.  This is now    considered a
  10992. classic cautionary tale to human-factors designers;    "Remember the
  10993. gorilla arm!" is shorthand for "How is this going    to fly in _real_
  10994. use?".
  10995.  
  10996.    :gorp: /gorp/ n.  [CMU: perhaps from the canonical hiker's    food,
  10997. Good Old Raisins and Peanuts] Another {metasyntactic    variable}, like
  10998. {foo} and {bar}.
  10999.  
  11000.    :GOSMACS: /goz'maks/ n.  [contraction of `Gosling EMACS']    The
  11001. first {EMACS}-in-C implementation, predating but now largely
  11002. eclipsed by {GNUMACS}.  Originally freeware; a commercial    version is
  11003. now modestly popular as `UniPress EMACS'.  The author,    James
  11004. Gosling, went on to invent {NeWS} and the programming    language Java;
  11005. the latter earned him {demigod} status.
  11006.  
  11007.    :Gosperism: /gos'p*r-izm/ n.  A hack, invention, or    saying due to
  11008. {elder days} arch-hacker R. William (Bill) Gosper.     This notion
  11009. merits its own term because there are so many of them.     Many of the
  11010. entries in {HAKMEM} are Gosperisms; see also    {life}.
  11011.  
  11012.    :gotcha: n.  A {misfeature} of a system, especially a    programming
  11013. language or environment, that tends to breed bugs or    mistakes
  11014. because it both enticingly easy to invoke and completely    unexpected
  11015. and/or unreasonable in its outcome.  For example, a    classic gotcha
  11016. in {C} is the fact that `if (a=b) {code;}'    is syntactically valid
  11017. and sometimes even correct.  It puts the    value of `b' into `a' and
  11018. then executes `code' if    `a' is non-zero.  What the programmer
  11019. probably meant was    `if (a==b) {code;}', which executes `code' if `a'
  11020.   and `b' are equal.
  11021.  
  11022.    :GPL: /G-P-L/ n.  Abbreviation for `General Public    License' in
  11023. widespread use; see {copyleft}, {General Public    Virus}.
  11024.  
  11025.    :GPV: /G-P-V/ n.  Abbrev. for {General Public Virus} in
  11026. widespread use.
  11027.  
  11028.    :grault: /grawlt/ n.  Yet another {metasyntactic    variable},
  11029. invented by Mike Gallaher and propagated by the    {GOSMACS}
  11030. documentation.  See {corge}.
  11031.  
  11032.    :gray goo: n.  A hypothetical substance composed of    {sagan}s of
  11033. sub-micron-sized self-replicating robots programmed    to make copies
  11034. of themselves out of whatever is available.  The    image that goes
  11035. with the term is one of the entire biosphere of    Earth being
  11036. eventually converted to robot goo.  This is the    simplest of the
  11037. {{nanotechnology}} disaster scenarios, easily    refuted by arguments
  11038. from energy requirements and elemental    abundances.  Compare {blue
  11039. goo}.
  11040.  
  11041.    :Great Renaming: n.  The {flag day} in 1987 on which all of    the
  11042. non-local groups on the {Usenet} had their names changed    from the
  11043. net.- format to the current multiple-hierarchies scheme.     Used esp.
  11044. in discussing the history of newsgroup names.  "The    oldest sources
  11045. group is comp.sources.misc; before the Great    Renaming, it was
  11046. net.sources." There is a    Great Renaming FAQ
  11047. (http://www.nottowayez.net/~leebum/netstuff.htm) on the Web.
  11048.  
  11049.    :Great Runes: n.  Uppercase-only text or display messages.     Some
  11050. archaic operating systems still emit these.  See also    {runes},
  11051. {smash case}, {fold case}.
  11052.  
  11053.    Decades ago, back in the days when it was the sole supplier of
  11054. long-distance hardcopy transmittal devices, the Teletype    Corporation
  11055. was faced with a major design choice.  To shorten code    lengths and
  11056. cut complexity in the printing mechanism, it had been    decided that
  11057. teletypes would use a monocase font, either ALL UPPER    or all lower.
  11058. The Question Of The Day was therefore, which one to    choose.  A study
  11059. was conducted on readability under various    conditions of bad ribbon,
  11060. worn print hammers, etc.  Lowercase won;    it is less dense and has
  11061. more distinctive letterforms, and is thus    much easier to read both
  11062. under ideal conditions and when the    letters are mangled or partly
  11063. obscured.  The results were filtered    up through {management}.  The
  11064. chairman of Teletype killed the    proposal because it failed one
  11065. incredibly important criterion:
  11066.  
  11067.         "It would be impossible to spell the name of the Deity
  11068.      correctly."
  11069.  
  11070.    In this way (or so, at least, hacker folklore has it) superstition
  11071. triumphed over utility.  Teletypes were the major input devices on
  11072. most early computers, and terminal manufacturers looking for    corners
  11073. to cut naturally followed suit until well into the 1970s.     Thus,
  11074. that one bad call stuck us with Great Runes for thirty years.
  11075.  
  11076.    :Great Worm: n.  The 1988 Internet {worm} perpetrated    by {RTM}.
  11077. This is a play on Tolkien (compare {elvish},    {elder days}).  In the
  11078. fantasy history of his Middle Earth    books, there were dragons
  11079. powerful enough to lay waste to entire    regions; two of these (Scatha
  11080. and Glaurung) were known as "the    Great Worms".  This usage expresses
  11081. the connotation that the RTM    crack was a sort of devastating
  11082. watershed event in hacker history;    certainly it did more to make
  11083. non-hackers nervous about the    Internet than anything before or since.
  11084.  
  11085.    :great-wall: vi.,n.  [from SF fandom] A mass expedition to an
  11086. oriental restaurant, esp. one where food is served family-style    and
  11087. shared.  There is a common heuristic about the amount of food    to
  11088. order, expressed as "Get N - 1 entrees"; the value of    N, which is
  11089. the number of people in the group, can be    inferred from context (see
  11090. {N}).  See {{oriental food}},    {ravs}, {stir-fried random}.
  11091.  
  11092.    :Green Book: n.  1. One of the three standard {{PostScript}}
  11093. references: "PostScript Language Program Design", bylined    `Adobe
  11094. Systems' (Addison-Wesley, 1988; QA76.73.P67P66 ISBN    0-201-14396-8);
  11095. see also {Red Book}, {Blue Book}, and the    {White Book} (sense 2).
  11096. 2. Informal name for one of the three    standard references on
  11097. SmallTalk: "Smalltalk-80: Bits of    History, Words of Advice", by
  11098. Glenn Krasner (Addison-Wesley, 1983;    QA76.8.S635S58; ISBN
  11099. 0-201-11669-3) (this, too, is associated with    blue and red books).
  11100. 3. The "X/Open Compatibility Guide",    which defines an international
  11101. standard {{Unix}} environment that    is a proper superset of
  11102. POSIX/SVID; also includes descriptions of a    standard utility
  11103. toolkit, systems administrations features, and the    like.  This
  11104. grimoire is taken with particular seriousness in    Europe.  See
  11105. {Purple Book}.  4. The IEEE 1003.1 POSIX Operating    Systems Interface
  11106. standard has been dubbed "The Ugly Green Book".     5. Any of the 1992
  11107. standards issued by the CCITT's tenth plenary    assembly.  These
  11108. include, among other things, the X.400 email    standard and the Group
  11109. 1 through 4 fax standards.  See also    {{book titles}}.
  11110.  
  11111.    :green bytes: n.  (also `green words') 1. Meta-information
  11112. embedded in a file, such as the length of the file or its name; as
  11113. opposed to keeping such information in a separate description file
  11114. or record.  The term comes from an IBM user's group meeting    (ca.
  11115. 1962) at which these two approaches were being debated and the
  11116. diagram of the file on the blackboard had the `green bytes' drawn    in
  11117. green.  2. By extension, the non-data bits in any    self-describing
  11118. format.  "A GIF file contains, among other things,    green bytes
  11119. describing the packing method for the image." Compare    {out-of-band},
  11120. {zigamorph}, {fence} (sense 1).
  11121.  
  11122.    :green card: n.  [after the "IBM System/360 Reference    Data" card]
  11123. A summary of an assembly language, even if the color is    not green
  11124. and not a card.  Less frequently used now because of the    decrease in
  11125. the use of assembly language.  "I'll go get my green    card so I can
  11126. check the addressing mode for that instruction."
  11127.  
  11128.    The original green card became a yellow card when the System/370
  11129. was introduced, and later a yellow booklet.  An anecdote from IBM
  11130. refers to a scene that took place in a programmers' terminal room    at
  11131. Yorktown in 1978.  A {luser} overheard one of the programmers    ask
  11132. another "Do you have a green card?"  The other grunted and    passed
  11133. the first a thick yellow booklet.  At this point the luser    turned a
  11134. delicate shade of olive and rapidly left the room, never    to return.
  11135.  
  11136.    :green lightning: n.  [IBM] 1. Apparently random flashing    streaks
  11137. on the face of 3278-9 terminals while a new symbol set is    being
  11138. downloaded.  This hardware bug was left deliberately unfixed,    as
  11139. some genius within IBM suggested it would let the user know that
  11140. `something is happening'.  That, it certainly does.  Later
  11141. microprocessor-driven IBM color graphics displays were actually
  11142. _programmed_ to produce green lightning!  2. [proposed] Any    bug
  11143. perverted into an alleged feature by adroit rationalization or
  11144. marketing.  "Motorola calls the CISC cruft in the 88000    architecture
  11145. `compatibility logic', but I call it green    lightning".  See also
  11146. {feature} (sense 6).
  11147.  
  11148.    :green machine: n.  A computer or peripheral device that has    been
  11149. designed and built to military specifications for field    equipment
  11150. (that is, to withstand mechanical shock, extremes of    temperature and
  11151. humidity, and so forth).  Comes from the olive-drab    `uniform' paint
  11152. used for military equipment.
  11153.  
  11154.    :Green's Theorem: prov.  [TMRC] For any story, in any group of
  11155. people there will be at least one person who has not heard the
  11156. story.  A refinement of the theorem states that there will be
  11157. _exactly_ one person (if there were more than one, it wouldn't    be as
  11158. bad to re-tell the story).  [The name of this theorem is a    play on a
  11159. fundamental theorem in calculus. --ESR]
  11160.  
  11161.    :greenbar: n.  A style of fanfolded continuous-feed paper    with
  11162. alternating green and white bars on it, especially used in    old-style
  11163. line printers.  This slang almost certainly dates way back    to
  11164. mainframe days.
  11165.  
  11166.    :grep: /grep/ vi.  [from the qed/ed editor idiom g/re/p,    where re
  11167. stands for a regular expression, to Globally search    for the Regular
  11168. Expression and Print the lines containing matches    to it, via
  11169. {{Unix}} `grep(1)'] To rapidly scan a file or set    of files looking
  11170. for a particular string or pattern (when browsing    through a large
  11171. set of files, one may speak of `grepping    around').  By extension, to
  11172. look for something by pattern.  "Grep    the bulletin board for the
  11173. system backup schedule, would you?"     See also {vgrep}.
  11174.  
  11175.    [It has also been alleged that the source is from the title of a
  11176. paper "A General Regular Expression Parser" -ESR]
  11177.  
  11178.    :gribble: n.  Random binary data rendered as unreadable    text.
  11179. Noise characters in a data stream are displayed as    gribble. Modems
  11180. with mismatched bitrates usually generate gribble    (more
  11181. specifically, {baud barf}). Dumping a binary file to the    screen is
  11182. an excellent source of gribble, and (if the bell/speaker    is active)
  11183. headaches.
  11184.  
  11185.    :grilf: // n.  Girlfriend.  Like {newsfroup} and    {filk}, a typo
  11186. reincarnated as a new word.  Seems to have    originated sometime in
  11187. 1992 on {Usenet}.  [A friend tells me    there was a Lloyd Biggle SF
  11188. novel "Watchers Of The Dark", in    which alien species after species
  11189. goes insane and begins to chant    "Grilf!  Grilf!".  A human detective
  11190. eventually determines that    the word means "Liar!"  I hope this has
  11191. nothing to do with the    popularity of the Usenet term. --ESR]
  11192.  
  11193.    :grind: vt.  1. [MIT and Berkeley; now rare] To prettify    hardcopy
  11194. of code, especially LISP code, by reindenting lines,    printing
  11195. keywords and comments in distinct fonts (if available),    etc.  This
  11196. usage was associated with the MacLISP community and is    now rare;
  11197. {prettyprint} was and is the generic term for such    operations.  2.
  11198. [Unix] To generate the formatted version of a    document from the
  11199. {{nroff}}, {{troff}}, {{TeX}}, or Scribe    source.  3. [common] To run
  11200. seemingly interminably, esp. (but not    necessarily) if performing
  11201. some tedious and inherently useless    task.  Similar to {crunch} or
  11202. {grovel}.  Grinding has a    connotation of using a lot of CPU time,
  11203. but it is possible to grind    a disk, network, etc.  See also {hog}.
  11204. 4. To make the whole    system slow.  "Troff really grinds a PDP-11."
  11205. 5. `grind grind'    excl. Roughly, "Isn't the machine slow today!"
  11206.  
  11207.    :grind crank: n. //  A mythical accessory to a terminal.  A    crank
  11208. on the side of a monitor, which when operated makes a zizzing    noise
  11209. and causes the computer to run faster.  Usually one does not    refer
  11210. to a grind crank out loud, but merely makes the appropriate    gesture
  11211. and noise.  See {grind}.
  11212.  
  11213.    Historical note: At least one real machine actually had a grind
  11214. crank -- the R1, a research machine built toward the end of the    days
  11215. of the great vacuum tube computers, in 1959.  R1 (also known    as `The
  11216. Rice Institute Computer' (TRIC) and later as `The Rice    University
  11217. Computer' (TRUC)) had a single-step/free-run switch for    use when
  11218. debugging programs.  Since single-stepping through a large    program
  11219. was rather tedious, there was also a crank with a cam and    gear
  11220. arrangement that repeatedly pushed the single-step button.     This
  11221. allowed one to `crank' through a lot of code, then slow    down to
  11222. single-step for a bit when you got near the code of    interest, poke
  11223. at some registers using the console typewriter, and    then keep on
  11224. cranking.
  11225.  
  11226.    :gripenet: n.  [IBM] A wry (and thoroughly unofficial) name    for
  11227. IBM's internal VNET system, deriving from its common use by    IBMers
  11228. to voice pointed criticism of IBM management that would be    taboo in
  11229. more formal channels.
  11230.  
  11231.    :gritch: /grich/  [MIT] 1. n. A complaint (often caused by a
  11232. {glitch}).  2. vi. To complain.  Often verb-doubled: "Gritch
  11233. gritch".  3. A synonym for {glitch} (as verb or noun).
  11234.  
  11235.    Interestingly, this word seems to have a separate history from
  11236. {glitch}, with which it is often confused.  Back in the early    1960s,
  11237. when `glitch' was strictly a hardware-tech's term of art,    the Burton
  11238. House dorm at M.I.T. maintained a "Gritch Book", a    blank volume,
  11239. into which the residents hand-wrote complaints,    suggestions, and
  11240. witticisms.  Previous years' volumes of this    tradition were
  11241. maintained, dating back to antiquity.  The word    "gritch" was
  11242. described as a portmanteau of "gripe" and    "bitch".  Thus, sense 3
  11243. above is at least historically incorrect.
  11244.  
  11245.    :grok: /grok/, var. /grohk/ vt.  [from the novel    "Stranger in a
  11246. Strange Land", by Robert A. Heinlein, where it    is a Martian word
  11247. meaning literally `to drink' and metaphorically    `to be one with']
  11248. The emphatic form is `grok in    fullness'. 1. To understand, usually
  11249. in a global sense.  Connotes    intimate and exhaustive knowledge.
  11250. Contrast {zen}, which is    similar supernal understanding experienced
  11251. as a single brief flash.     See also {glark}.  2. Used of programs,
  11252. may connote merely    sufficient understanding.  "Almost all C
  11253. compilers grok the    `void' type these days."
  11254.  
  11255.    :gronk: /gronk/ vt.  [popularized by Johnny Hart's comic    strip
  11256. "B.C." but the word apparently predates that] 1. To    clear the state
  11257. of a wedged device and restart it.  More severe    than `to {frob}'
  11258. (sense 2).  2. [TMRC] To cut, sever, smash,    or similarly disable.
  11259. 3. The sound made by many 3.5-inch diskette    drives.  In particular,
  11260. the microfloppies on a Commodore Amiga go    "grink, gronk".
  11261.  
  11262.    :gronk out: vi.  To cease functioning.  Of people, to go home    and
  11263. go to sleep.  "I guess I'll gronk out now; see you all    tomorrow."
  11264.  
  11265.    :gronked: adj.  1. Broken.  "The teletype scanner was    gronked, so
  11266. we took the system down."  2. Of people, the condition    of feeling
  11267. very tired or (less commonly) sick.  "I've been chasing    that bug for
  11268. 17 hours now and I am thoroughly gronked!"  Compare    {broken}, which
  11269. means about the same as {gronk} used of    hardware, but connotes
  11270. depression or mental/emotional problems in    people.
  11271.  
  11272.    :grovel: vi.  1. To work interminably and without apparent
  11273. progress.  Often used transitively with `over' or `through'.     "The
  11274. file scavenger has been groveling through the /usr    directories for
  11275. 10 minutes now."  Compare {grind} and    {crunch}.  Emphatic form:
  11276. `grovel obscenely'.  2. To examine    minutely or in complete detail.
  11277. "The compiler grovels over the    entire source program before
  11278. beginning to translate it."  "I    grovelled through all the
  11279. documentation, but I still couldn't find    the command I wanted."
  11280.  
  11281.    :grue: n.  [from archaic English verb for `shudder', as    with
  11282. fear] The grue was originated in the game {Zork} (Dave    Lebling took
  11283. the name from Jack Vance's "Dying Earth"    fantasies) and used in
  11284. several other {Infocom} games as a hint    that you should perhaps look
  11285. for a lamp, torch or some type of    light source.  Wandering into a
  11286. dark area would cause the game to    prompt you, "It is very dark.  If
  11287. you continue you are likely to    be eaten by a grue."  If you failed
  11288. to locate a light source    within the next couple of moves this would
  11289. indeed be the    case.
  11290.  
  11291.    The grue, according to scholars of the Great Underground Empire, is
  11292.  a sinister, lurking presence in the dark places of the earth.  Its
  11293. favorite diet is either adventurers or enchanters, but its
  11294. insatiable appetite is tempered by its extreme fear of light. No
  11295. grues have ever been seen by the light of day, and only a few have
  11296. been observed in their underground lairs. Of those who have seen
  11297. grues, few have survived their fearsome jaws to tell the    tale. Grues
  11298. have sharp claws and fangs, and an uncontrollable    tendency to slaver
  11299. and gurgle. They are certainly the most    evil-tempered of all
  11300. creatures; to say they are touchy is a    dangerous understatement.
  11301. "Sour as a grue" is a common    expression, even among themselves.
  11302.  
  11303.    All this folklore is widely known among hackers.
  11304.  
  11305.    :grunge: /gruhnj/ n.  1. That which is grungy, or that which
  11306. makes it so.  2. [Cambridge] Code which is inaccessible due to
  11307. changes in other parts of the program.  The preferred term in North
  11308. America is {dead code}.
  11309.  
  11310.    :gubbish: /guhb'*sh/ n.  [a portmanteau of `garbage' and
  11311. `rubbish'; may have originated with SF author Philip K. Dick]
  11312. Garbage; crap; nonsense.  "What is all this gubbish?"  The    opposite
  11313. portmanteau `rubbage' is also reported; in fact, it was    British
  11314. slang during the 19th century and appears in Dickens.
  11315.  
  11316.    :Guido: /gwee'do/ or /khwee'do/   Without qualification,    Guido
  11317. van Rossum (author of {Python}).  Note that Guido answers to    English
  11318. /gwee'do/ but in Dutch it's /khwee'do/.
  11319.  
  11320.    :guiltware: /gilt'weir/ n.  1. A piece of {freeware}    decorated
  11321. with a message telling one how long and hard the author    worked on it
  11322. and intimating that one is a no-good freeloader if one    does not
  11323. immediately send the poor suffering martyr gobs of money.     2. A
  11324. piece of {shareware} that works.
  11325.  
  11326.    :gumby: /guhm'bee/ n.  [from a class of Monty Python    characters,
  11327. poss. with some influence from the 1960s claymation    character] 1. An
  11328. act of minor but conspicuous stupidity, often in    `gumby maneuver' or
  11329. `pull a gumby'.  2. [NRL] n. A bureaucrat,    or other technical
  11330. incompetent who impedes the progress of real    work.  3. adj. Relating
  11331. to things typically associated with people    in sense 2.  (e.g.  "Ran
  11332. would be writing code, but Richard gave    him gumby work that's due on
  11333. Friday", or, "Dammit!  Travel    screwed up my plane tickets.  I have
  11334. to go out on gumby patrol.")
  11335.  
  11336.    :gun: vt.  [ITS, now rare: from the `:GUN' command]    To forcibly
  11337. terminate a program or job (computer, not career).     "Some idiot left
  11338. a background process running soaking up half the    cycles, so I gunned
  11339. it."  Usage: now rare.  Compare {can},    {blammo}.
  11340.  
  11341.    :gunch: /guhnch/ vt.  [TMRC] To push, prod, or poke at a    device
  11342. that has almost (but not quite) produced the desired result.
  11343. Implies a threat to {mung}.
  11344.  
  11345.    :gunpowder chicken: n.  Same as {laser chicken}.
  11346.  
  11347.    :gurfle: /ger'fl/ interj.  An expression of shocked    disbelief.
  11348. "He said we have to recode this thing in FORTRAN by    next week.
  11349. Gurfle!"  Compare {weeble}.
  11350.  
  11351.    :guru: n.  [Unix] An expert.  Implies not only {wizard}    skill but
  11352. also a history of being a knowledge resource for others.     Less
  11353. often, used (with a qualifier) for other experts on other    systems,
  11354. as in `VMS guru'.  See {source of all good bits}.
  11355.  
  11356.    :guru meditation: n.  Amiga equivalent of `panic' in Unix
  11357. (sometimes just called a `guru' or `guru event').  When the    system
  11358. crashes, a cryptic message of the form "GURU MEDITATION
  11359. #XXXXXXXX.YYYYYYYY" may appear, indicating what the problem was.     An
  11360. Amiga guru can figure things out from the numbers.  Sometimes a
  11361. {guru} event must be followed by a {Vulcan nerve pinch}.
  11362.  
  11363.    This term is (no surprise) an in-joke from the earliest days of the
  11364.  Amiga.  There used to be a device called a `Joyboard' which was
  11365. basically a plastic board built onto a joystick-like device; it was
  11366. sold with a skiing game cartridge for the Atari game machine.  It    is
  11367. said that whenever the prototype OS crashed, the system    programmer
  11368. responsible would calm down by concentrating on a    solution while
  11369. sitting cross-legged on a Joyboard trying to keep    the board in
  11370. balance.  This position resembled that of a meditating    guru.  Sadly,
  11371. the joke was removed fairly early on (but there's    a well-known patch
  11372. to restore it in more recent versions).
  11373.  
  11374.    :gweep: /gweep/  [WPI] 1. v. To {hack}, usually at night.     At
  11375. WPI, from 1975 onwards, one who gweeped could often be found at    the
  11376. College Computing Center punching cards or crashing the    {PDP-10} or,
  11377. later, the DEC-20.  A correspondent who was there at    the time opines
  11378. that the term was originally onomatopoetic,    describing the keyclick
  11379. sound of the Datapoint terminals long    connected to the PDP-10.  The
  11380. term has survived the demise of those    technologies, however, and was
  11381. still alive in early 1999.  "I'm    going to go gweep for a while.  See
  11382. you in the morning." "I gweep    from 8 PM till 3 AM during the week."
  11383. 2. n. One who habitually    gweeps in sense 1; a {hacker}.  "He's a
  11384. hard-core gweep,    mumbles code in his sleep."
  11385.  
  11386. = H =
  11387. =====
  11388.  
  11389.    :h:  [from SF fandom] A method of `marking' common words,    i.e.,
  11390. calling attention to the fact that they are being used in a
  11391. nonstandard, ironic, or humorous way.  Originated in the fannish
  11392. catchphrase "Bheer is the One True Ghod!" from decades ago.     H-infix
  11393. marking of `Ghod' and other words spread into the 1960s
  11394. counterculture via underground comix, and into early hackerdom
  11395. either from the counterculture or from SF fandom (the three
  11396. overlapped heavily at the time).  More recently, the h infix has
  11397. become an expected feature of benchmark names (Dhrystone,
  11398. Rhealstone, etc.); this is probably patterning on the original
  11399. Whetstone (the name of a laboratory) but influenced by the
  11400. fannish/counterculture h infix.
  11401.  
  11402.    :ha ha only serious:  [from SF fandom, orig. as mutation of    HHOK,
  11403. `Ha Ha Only Kidding'] A phrase (often seen abbreviated as    HHOS) that
  11404. aptly captures the flavor of much hacker discourse.     Applied
  11405. especially to parodies, absurdities, and ironic jokes that    are both
  11406. intended and perceived to contain a possibly disquieting    amount of
  11407. truth, or truths that are constructed on in-joke and    self-parody.
  11408. This lexicon contains many examples of    ha-ha-only-serious in both
  11409. form and content.  Indeed, the entirety    of hacker culture is often
  11410. perceived as ha-ha-only-serious by    hackers themselves; to take it
  11411. either too lightly or too seriously    marks a person as an outsider, a
  11412. {wannabee}, or in {larval    stage}.  For further enlightenment on this
  11413. subject, consult any Zen    master.  See also {{hacker humor}}, and {AI
  11414. koans}.
  11415.  
  11416.    :hack:  [very common] 1. n. Originally, a quick job that    produces
  11417. what is needed, but not well.  2. n. An incredibly    good, and perhaps
  11418. very time-consuming, piece of work that produces    exactly what is
  11419. needed.  3. vt. To bear emotionally or    physically.  "I can't hack
  11420. this heat!"  4. vt. To work on    something (typically a program).  In
  11421. an immediate sense: "What are    you doing?"  "I'm hacking TECO."  In a
  11422. general (time-extended)    sense: "What do you do around here?"  "I
  11423. hack TECO."  More    generally, "I hack `foo'" is roughly equivalent to
  11424. "`foo' is    my major interest (or project)".  "I hack solid-state
  11425. physics."     See {Hacking X for Y}.  5. vt. To pull a prank on.  See
  11426. sense 2 and {hacker} (sense 5).  6. vi. To interact with a    computer
  11427. in a playful and exploratory rather than goal-directed    way.
  11428. "Whatcha up to?"  "Oh, just hacking."  7. n. Short    for {hacker}.  8.
  11429. See {nethack}.  9. [MIT] v. To explore    the basements, roof ledges,
  11430. and steam tunnels of a large,    institutional building, to the dismay
  11431. of Physical Plant workers and    (since this is usually performed at
  11432. educational institutions) the    Campus Police.  This activity has been
  11433. found to be eerily similar    to playing adventure games such as
  11434. Dungeons and Dragons and    {Zork}.  See also {vadding}.
  11435.  
  11436.    Constructions on this term abound.  They include `happy hacking'
  11437. (a farewell), `how's hacking?' (a friendly greeting among    hackers)
  11438. and `hack, hack' (a fairly content-free but friendly    comment, often
  11439. used as a temporary farewell).  For more on this    totipotent term see
  11440. "{The Meaning of Hack}".  See    also {neat hack}, {real hack}.
  11441.  
  11442.    :hack attack: n.  [poss. by analogy with `Big Mac Attack'    from
  11443. ads for the McDonald's fast-food chain; the variant `big    hack
  11444. attack' is reported] Nearly synonymous with {hacking run},    though
  11445. the latter more strongly implies an all-nighter.
  11446.  
  11447.    :hack mode: n.  1. What one is in when hacking, of course.     2.
  11448. More specifically, a Zen-like state of total focus on The    Problem
  11449. that may be achieved when one is hacking (this is why every    good
  11450. hacker is part mystic).  Ability to enter such concentration    at will
  11451. correlates strongly with wizardliness; it is one of the    most
  11452. important skills learned during {larval stage}.  Sometimes    amplified
  11453. as `deep hack mode'.
  11454.  
  11455.    Being yanked out of hack mode (see {priority interrupt}) may be
  11456. experienced as a physical shock, and the sensation of being in hack
  11457. mode is more than a little habituating.  The intensity of this
  11458. experience is probably by itself sufficient explanation for the
  11459. existence of hackers, and explains why many resist being promoted
  11460. out of positions where they can code.  See also {cyberspace}    (sense
  11461. 2).
  11462.  
  11463.    Some aspects of hacker etiquette will appear quite odd to an
  11464. observer unaware of the high value placed on hack mode.  For
  11465. example, if someone appears at your door, it is perfectly okay to
  11466. hold up a hand (without turning one's eyes away from the screen) to
  11467. avoid being interrupted.  One may read, type, and interact with the
  11468. computer for quite some time before further acknowledging the
  11469. other's presence (of course, he or she is reciprocally free to    leave
  11470. without a word).  The understanding is that you might be in    {hack
  11471. mode} with a lot of delicate {state} (sense 2) in your    head, and you
  11472. dare not {swap} that context out until you have    reached a good point
  11473. to pause. See also {juggling eggs}.
  11474.  
  11475.    :hack on: vt.  [very common] To {hack}; implies that the    subject
  11476. is some pre-existing hunk of code that one is evolving, as    opposed
  11477. to something one might {hack up}.
  11478.  
  11479.    :hack together: vt.  [common] To throw something together    so it
  11480. will work.  Unlike `kluge together' or {cruft together},    this does
  11481. not necessarily have negative connotations.
  11482.  
  11483.    :hack up: vt.  To {hack}, but generally implies that the    result
  11484. is a hack in sense 1 (a quick hack).  Contrast this with    {hack on}.
  11485. To `hack up on' implies a {quick-and-dirty}    modification to an
  11486. existing system.  Contrast {hacked up};    compare {kluge up}, {monkey
  11487. up}, {cruft together}.
  11488.  
  11489.    :hack value: n.  Often adduced as the reason or motivation for
  11490. expending effort toward a seemingly useless goal, the point being
  11491. that the accomplished goal is a hack.  For example, MacLISP had
  11492. features for reading and printing Roman numerals, which were
  11493. installed purely for hack value.  See {display hack} for one    method
  11494. of computing hack value, but this cannot really be    explained, only
  11495. experienced.  As Louis Armstrong once said when    asked to explain
  11496. jazz: "Man, if you gotta ask you'll never know."     (Feminists please
  11497. note Fats Waller's explanation of rhythm: "Lady,    if you got to ask,
  11498. you ain't got it.")
  11499.  
  11500.    :hacked off: adj.  [analogous to `pissed off'] Said of    system
  11501. administrators who have become annoyed, upset, or touchy    owing to
  11502. suspicions that their sites have been or are going to be    victimized
  11503. by crackers, or used for inappropriate, technically    illegal, or even
  11504. overtly criminal activities.  For example, having    unreadable files
  11505. in your home directory called `worm',    `lockpick', or `goroot' would
  11506. probably be an effective (as well    as impressively obvious and
  11507. stupid) way to get your sysadmin hacked    off at you.
  11508.  
  11509.    It has been pointed out that there is precedent for this usage in
  11510. U.S. Navy slang, in which officers under discipline are sometimes
  11511. said to be "in hack" and one may speak of "hacking off the C.O.".
  11512.  
  11513.    :hacked up: adj.  Sufficiently patched, kluged, and tweaked    that
  11514. the surgical scars are beginning to crowd out normal tissue    (compare
  11515. {critical mass}).  Not all programs that are hacked    become `hacked
  11516. up'; if modifications are done with some eye to    coherence and
  11517. continued maintainability, the software may emerge    better for the
  11518. experience.  Contrast {hack up}.
  11519.  
  11520.    :hacker: n.  [originally, someone who makes furniture with an
  11521. axe] 1. A person who enjoys exploring the details of programmable
  11522. systems and how to stretch their capabilities, as opposed to most
  11523. users, who prefer to learn only the minimum necessary.  2. One who
  11524. programs enthusiastically (even obsessively) or who enjoys
  11525. programming rather than just theorizing about programming.  3. A
  11526. person capable of appreciating {hack value}.  4. A person who is
  11527. good at programming quickly.  5. An expert at a particular program,
  11528. or one who frequently does work using it or on it; as in `a Unix
  11529. hacker'.  (Definitions 1 through 5 are correlated, and people who
  11530. fit them congregate.)  6. An expert or enthusiast of any kind.  One
  11531. might be an astronomy hacker, for example.  7. One who enjoys the
  11532. intellectual challenge of creatively overcoming or circumventing
  11533. limitations.  8. [deprecated] A malicious meddler who tries to
  11534. discover sensitive information by poking around.  Hence `password
  11535. hacker', `network hacker'.  The correct term for this sense is
  11536. {cracker}.
  11537.  
  11538.    The term `hacker' also tends to connote membership in the global
  11539. community defined by the net (see {the network} and    {Internet
  11540. address}).  For discussion of some of the basics of    this culture,
  11541. see the    How To Become A Hacker
  11542. (http://www.tuxedo.org/~esr/faqs/hacker-howto.html) FAQ. It also
  11543. implies that the person described    is seen to subscribe to some
  11544. version of the hacker ethic (see    {hacker ethic}).
  11545.  
  11546.    It is better to be described as a hacker by others than to describe
  11547.  oneself that way.  Hackers consider themselves something of an
  11548. elite (a meritocracy based on ability), though one to which new
  11549. members are gladly welcome.  There is thus a certain ego
  11550. satisfaction to be had in identifying yourself as a hacker (but if
  11551. you claim to be one and are not, you'll quickly be labeled    {bogus}).
  11552. See also {wannabee}.
  11553.  
  11554.    This term seems to have been first adopted as a badge in the 1960s
  11555. by the hacker culture surrounding TMRC and the MIT AI Lab.  We have
  11556. a report that it was used in a sense close to this entry's by teenage
  11557. radio hams and electronics tinkerers in the mid-1950s.
  11558.  
  11559.    :hacker ethic: n.  1. The belief that information-sharing    is a
  11560. powerful positive good, and that it is an ethical duty of    hackers to
  11561. share their expertise by writing open-source and    facilitating access
  11562. to information and to computing resources    wherever possible.  2. The
  11563. belief that system-cracking for fun and    exploration is ethically OK
  11564. as long as the cracker commits no    theft, vandalism, or breach of
  11565. confidentiality.
  11566.  
  11567.    Both of these normative ethical principles are widely, but by no
  11568. means universally, accepted among hackers. Most hackers subscribe    to
  11569. the hacker ethic in sense 1, and many act on it by writing and
  11570. giving away open-source software.  A few go further and assert that
  11571. _all_ information should be free and _any_ proprietary    control of it
  11572. is bad; this is the philosophy behind the {GNU}    project.
  11573.  
  11574.    Sense 2 is more controversial: some people consider the act of
  11575. cracking itself to be unethical, like breaking and entering.  But
  11576. the belief that `ethical' cracking excludes destruction at least
  11577. moderates the behavior of people who see themselves as `benign'
  11578. crackers (see also {samurai}).  On this view, it may be one of    the
  11579. highest forms of hackerly courtesy to (a) break into a system,    and
  11580. then (b) explain to the sysop, preferably by email from a
  11581. {superuser} account, exactly how it was done and how the hole    can be
  11582. plugged -- acting as an unpaid (and unsolicited) {tiger    team}.
  11583.  
  11584.    The most reliable manifestation of either version of the hacker
  11585. ethic is that almost all hackers are actively willing to share
  11586. technical tricks, software, and (where possible) computing    resources
  11587. with other hackers.  Huge cooperative networks such as    {Usenet},
  11588. {FidoNet} and Internet (see {Internet address})    can function without
  11589. central control because of this trait; they    both rely on and
  11590. reinforce a sense of community that may be    hackerdom's most valuable
  11591. intangible asset.
  11592.  
  11593.    :hacker humor::  A distinctive style of shared    intellectual humor
  11594. found among hackers, having the following marked    characteristics:
  11595.  
  11596.    1. Fascination with form-vs.-content jokes, paradoxes, and humor
  11597. having to do with confusion of metalevels (see {meta}).  One way    to
  11598. make a hacker laugh: hold a red index card in front of him/her    with
  11599. "GREEN" written on it, or vice-versa (note, however, that    this is
  11600. funny only the first time).
  11601.  
  11602.    2. Elaborate deadpan parodies of large intellectual constructs,
  11603. such as specifications (see {write-only memory}), standards
  11604. documents, language descriptions (see {INTERCAL}), and even    entire
  11605. scientific theories (see {quantum bogodynamics},    {computron}).
  11606.  
  11607.    3. Jokes that involve screwily precise reasoning from bizarre,
  11608. ludicrous, or just grossly counter-intuitive premises.
  11609.  
  11610.    4. Fascination with puns and wordplay.
  11611.  
  11612.    5. A fondness for apparently mindless humor with subversive
  11613. currents of intelligence in it -- for example, old Warner Brothers
  11614. and Rocky & Bullwinkle cartoons, the Marx brothers, the early    B-52s,
  11615. and Monty Python's Flying Circus.  Humor that combines this    trait
  11616. with elements of high camp and slapstick is especially    favored.
  11617.  
  11618.    6. References to the symbol-object antinomies and associated ideas
  11619. in Zen Buddhism and (less often) Taoism.  See {has the X    nature},
  11620. {Discordianism}, {zen}, {ha ha only serious},    {koan}, {AI koans}.
  11621.  
  11622.    See also {filk}, {retrocomputing}, and the Portrait of J.     Random
  11623. Hacker in {Appendix B}.  If you have an itchy feeling    that all six
  11624. of these traits are really aspects of one thing that    is incredibly
  11625. difficult to talk about exactly, you are (a) correct    and (b)
  11626. responding like a hacker.  These traits are also    recognizable
  11627. (though in a less marked form) throughout    {{science-fiction fandom}}.
  11628.  
  11629.    :Hackers (the movie): n.  A notable bomb from 1995.     Should have
  11630. been titled "Crackers", because cracking is what    the movie was
  11631. about.  It's understandable that they didn't however;    titles
  11632. redolent of snack food are probably a tough sell in    Hollywood.
  11633.  
  11634.    :hacking run: n.  [analogy with `bombing run' or `speed    run'] A
  11635. hack session extended long outside normal working times,    especially
  11636. one longer than 12 hours.  May cause you to `change    phase the hard
  11637. way' (see {phase}).
  11638.  
  11639.    :Hacking X for Y: n.  [ITS] Ritual phrasing of part of the
  11640. information which ITS made publicly available about each user.     This
  11641. information (the INQUIR record) was a sort of form in which    the user
  11642. could fill out various fields.  On display, two of these    fields were
  11643. always combined into a project description of the form    "Hacking X
  11644. for Y" (e.g., `"Hacking perceptrons for    Minsky"').  This form of
  11645. description became traditional and has    since been carried over to
  11646. other systems with more general    facilities for self-advertisement
  11647. (such as Unix {plan file}s).
  11648.  
  11649.    :Hackintosh: n.  1. An Apple Lisa that has been hacked into
  11650. emulating a Macintosh (also called a `Mac XL').  2. A Macintosh
  11651. assembled from parts theoretically belonging to different models in
  11652. the line.
  11653.  
  11654.    :hackish: /hak'ish/ adj.  (also {hackishness} n.) 1. Said    of
  11655. something that is or involves a hack.  2. Of or pertaining to
  11656. hackers or the hacker subculture.  See also {true-hacker}.
  11657.  
  11658.    :hackishness: n.  The quality of being or involving a hack.     This
  11659. term is considered mildly silly.  Syn. {hackitude}.
  11660.  
  11661.    :hackitude: n.  Syn. {hackishness}; this word is considered
  11662. sillier.
  11663.  
  11664.    :hair: n.  [back-formation from {hairy}] The    complications that
  11665. make something hairy.  "Decoding {TECO}    commands requires a certain
  11666. amount of hair."  Often seen in the    phrase `infinite hair', which
  11667. connotes extreme complexity.  Also    in `hairiferous' (tending to
  11668. promote hair growth): "GNUMACS    elisp encourages lusers to write
  11669. complex editing modes."  "Yeah,    it's pretty hairiferous all right."
  11670. (or just: "Hair squared!")
  11671.  
  11672.    :hairball: n.  1. [Fidonet] A large batch of messages that    a
  11673. store-and-forward network is failing to forward when it should.
  11674. Often used in the phrase "Fido coughed up a hairball today",    meaning
  11675. that the stuck messages have just come unstuck, producing a    flood of
  11676. mail where there had previously been drought.  2. An    unmanageably
  11677. huge mass of source code.  "JWZ thought the Mozilla    effort bogged
  11678. down because the code was a huge hairball." 3. Any    large amount of
  11679. garbage coming out suddenly. "Sendmail is coughing    up a hairball, so
  11680. expect some slowness accessing the    Internet."
  11681.  
  11682.    :hairy: adj.  1. Annoyingly complicated.  "{DWIM} is    incredibly
  11683. hairy."  2. Incomprehensible.  "{DWIM} is    incredibly hairy."  3. Of
  11684. people, high-powered, authoritative,    rare, expert, and/or
  11685. incomprehensible.  Hard to explain except in    context: "He knows this
  11686. hairy lawyer who says there's nothing to    worry about."  See also
  11687. {hirsute}.
  11688.  
  11689.    A well-known result in topology called the Brouwer Fixed-Point
  11690. Theorem states that any continuous transformation of a 2-sphere into
  11691. itself has at least one fixed point.  Mathematically literate
  11692. hackers tend to associate the term `hairy' with the informal    version
  11693. of this theorem; "You can't comb a hairy ball smooth."
  11694.  
  11695.    The adjective `long-haired' is well-attested to have been in
  11696. slang use among scientists and engineers during the early 1950s; it
  11697. was equivalent to modern `hairy' senses 1 and 2, and was very    likely
  11698. ancestral to the hackish use.  In fact the noun    `long-hair' was at
  11699. the time used to describe a person satisfying    sense 3.  Both senses
  11700. probably passed out of use when long hair    was adopted as a signature
  11701. trait by the 1960s counterculture,    leaving hackish `hairy' as a sort
  11702. of stunted mutant relic.
  11703.  
  11704.    :HAKMEM: /hak'mem/ n.  MIT AI Memo 239 (February 1972).  A
  11705. legendary collection of neat mathematical and programming hacks
  11706. contributed by many people at MIT and elsewhere.  (The title of the
  11707. memo really is "HAKMEM", which is a 6-letterism for `hacks    memo'.)
  11708. Some of them are very useful techniques, powerful    theorems, or
  11709. interesting unsolved problems, but most fall into the    category of
  11710. mathematical and computer trivia.  Here is a sampling    of the entries
  11711. (with authors), slightly paraphrased:
  11712.  
  11713.    Item 41 (Gene Salamin): There are exactly 23,000 prime numbers less
  11714.  than 2^(18).
  11715.  
  11716.    Item 46 (Rich Schroeppel): The most _probable_ suit    distribution
  11717. in bridge hands is 4-4-3-2, as compared to 4-3-3-3,    which is the
  11718. most _evenly_ distributed.  This is because the    world likes to have
  11719. unequal numbers: a thermodynamic effect saying    things will not be in
  11720. the state of lowest energy, but in the state    of lowest disordered
  11721. energy.
  11722.  
  11723.    Item 81 (Rich Schroeppel): Count the magic squares of order 5
  11724. (that is, all the 5-by-5 arrangements of the numbers from 1 to 25
  11725. such that all rows, columns, and diagonals add up to the same
  11726. number).  There are about 320 million, not counting those that
  11727. differ only by rotation and reflection.
  11728.  
  11729.    Item 154 (Bill Gosper): The myth that any given programming
  11730. language is machine independent is easily exploded by computing the
  11731. sum of powers of 2.  If the result loops with period = 1    with sign
  11732. +, you are on a sign-magnitude machine.  If the    result loops with
  11733. period = 1 at -1, you are on a    twos-complement machine.  If the
  11734. result loops with period greater    than 1, including the beginning,
  11735. you are on a ones-complement    machine.  If the result loops with
  11736. period greater than 1, not    including the beginning, your machine
  11737. isn't binary -- the pattern    should tell you the base.  If you run
  11738. out of memory, you are on a    string or bignum system.  If arithmetic
  11739. overflow is a fatal error,    some fascist pig with a read-only mind is
  11740. trying to enforce machine    independence.  But the very ability to
  11741. trap overflow is machine    dependent.  By this strategy, consider the
  11742. universe, or, more    precisely, algebra: Let X = the sum of many
  11743. powers of 2 =    ...111111 (base 2).  Now add X to itself:    X + X =
  11744. ...111110.  Thus, 2X = X - 1, so    X = -1.  Therefore algebra is run
  11745. on a machine (the    universe) that is two's-complement.
  11746.  
  11747.    Item 174 (Bill Gosper and Stuart Nelson): 21963283741 is the only
  11748. number such that if you represent it on the {PDP-10} as both an
  11749. integer and a floating-point number, the bit patterns of the two
  11750. representations are identical.
  11751.  
  11752.    Item 176 (Gosper): The "banana phenomenon" was encountered when
  11753. processing a character string by taking the last 3 letters typed
  11754. out, searching for a random occurrence of that sequence in the    text,
  11755. taking the letter following that occurrence, typing it out,    and
  11756. iterating.  This ensures that every 4-letter string output    occurs in
  11757. the original.  The program typed BANANANANANANANA....  We    note an
  11758. ambiguity in the phrase, "the Nth occurrence of."  In one    sense,
  11759. there are five 00's in 0000000000; in another, there are    nine.  The
  11760. editing program TECO finds five.  Thus it finds only the    first ANA
  11761. in BANANA, and is thus obligated to type N next.  By    Murphy's Law,
  11762. there is but one NAN, thus forcing A, and thus a    loop.  An option to
  11763. find overlapped instances would be useful,    although it would require
  11764. backing up N - 1 characters before    seeking the next N-character
  11765. string.
  11766.  
  11767.    Note: This last item refers to a {Dissociated Press}
  11768. implementation.  See also {banana problem}.
  11769.  
  11770. HAKMEM also contains some rather more complicated mathematical and
  11771. technical items, but these examples show some of its fun    flavor.
  11772.  
  11773.    An HTML transcription of the entire document is available at
  11774. `http://www.inwap.com/pdp10/hbaker/hakmem/hakmem.html'.
  11775.  
  11776.    :hakspek: /hak'speek/ n.  A shorthand method of spelling    found on
  11777. many British academic bulletin boards and {talker    system}s.
  11778. Syllables and whole words in a sentence are replaced by    single ASCII
  11779. characters the names of which are phonetically similar    or
  11780. equivalent, while multiple letters are usually dropped.  Hence,
  11781. `for' becomes `4'; `two', `too', and `to' become `2';    `ck' becomes
  11782. `k'.  "Before I see you tomorrow" becomes "b4 i    c u 2moro".  First
  11783. appeared in London about 1986, and was probably    caused by the
  11784. slowness of available talker systems, which operated    on archaic
  11785. machines with outdated operating systems and no standard    methods of
  11786. communication.  Has become rarer since.  See also    {talk mode}.
  11787.  
  11788.    :Halloween Documents: n.  A pair of Microsoft internal    strategy
  11789. memoranda leaked to ESR in late 1998 that confirmed    everybody's
  11790. paranoia about the current {Evil Empire}.     These documents
  11791. (http://www.opensource.org/halloween.html)    praised the technical
  11792. excellence of {Linux} and outlined a    counterstrategy of attempting
  11793. to lock in customers by    "de-commoditizing" Internet protocols and
  11794. services.  They were    extensively cited on the Internet and in the
  11795. press and proved so    embarrassing that Microsoft PR barely said a
  11796. word in public for    six months afterwards.
  11797.  
  11798.    :hammer: vt.  Commonwealth hackish syn. for {bang on}.
  11799.  
  11800.    :hamster: n.  1. [Fairchild] A particularly slick little piece    of
  11801. code that does one thing well; a small, self-contained hack.     The
  11802. image is of a hamster {happily} spinning its exercise wheel.     2. A
  11803. tailless mouse; that is, one with an infrared link to a    receiver on
  11804. the machine, as opposed to the conventional cable.     3. [UK] Any item
  11805. of hardware made by Amstrad, a company famous for    its cheap plastic
  11806. PC-almost-compatibles.
  11807.  
  11808.    :hand cruft: vt.  [pun on `hand craft'] See {cruft}, sense    3.
  11809.  
  11810.    :hand-hacking: n.  1. [rare] The practice of translating    {hot
  11811. spot}s from an {HLL} into hand-tuned assembler, as    opposed to trying
  11812. to coerce the compiler into generating better    code.  Both the term
  11813. and the practice are becoming uncommon.  See    {tune}, {bum}, {by
  11814. hand}; syn. with v. {cruft}.     2. [common] More generally, manual
  11815. construction or patching of data    sets that would normally be
  11816. generated by a translation utility and    interpreted by another
  11817. program, and aren't really designed to be    read or modified by humans.
  11818.  
  11819.    :hand-roll: v.  [from obs. mainstream slang `hand-rolled' in
  11820. opposition to `ready-made', referring to cigarettes] To    perform a
  11821. normally automated software installation or configuration    process
  11822. {by hand}; implies that the normal process failed due to    bugs in the
  11823. configurator or was defeated by something exceptional    in the local
  11824. environment.  "The worst thing about being a gateway    between four
  11825. different nets is having to hand-roll a new sendmail    configuration
  11826. every time any of them upgrades."
  11827.  
  11828.    :handle: n.  1. [from CB slang] An electronic pseudonym; a    `nom
  11829. de guerre' intended to conceal the user's true identity.     Network
  11830. and BBS handles function as the same sort of simultaneous
  11831. concealment and display one finds on Citizen's Band radio, from
  11832. which the term was adopted.  Use of grandiose handles is
  11833. characteristic of {warez d00dz}, {cracker}s, {weenie}s,    {spod}s, and
  11834. other lower forms of network life; true hackers    travel on their own
  11835. reputations rather than invented legendry.     Compare {nick}, {screen
  11836. name}. 2. A {magic cookie}, often    in the form of a numeric index
  11837. into some array somewhere, through    which you can manipulate an
  11838. object like a file or window.  The form    `file handle' is especially
  11839. common. 3. [Mac] A pointer to a    pointer to dynamically-allocated
  11840. memory; the extra level of    indirection allows on-the-fly memory
  11841. compaction (to cut down on    fragmentation) or aging out of unused
  11842. resources, with minimal    impact on the (possibly multiple) parts of
  11843. the larger program    containing references to the allocated memory.
  11844. Compare {snap}    (to snap a handle would defeat its purpose); see also
  11845. {aliasing    bug}, {dangling pointer}.
  11846.  
  11847.    :handshaking: n.  [very common] Hardware or software    activity
  11848. designed to start or keep two machines or programs in
  11849. synchronization as they {do protocol}.  Often applied to human
  11850. activity; thus, a hacker might watch two people in conversation
  11851. nodding their heads to indicate that they have heard each others'
  11852. points and say "Oh, they're handshaking!".  See also    {protocol}.
  11853.  
  11854.    :handwave:  [poss. from gestures characteristic of stage
  11855. magicians] 1. v. To gloss over a complex point; to distract a
  11856. listener; to support a (possibly actually valid) point with
  11857. blatantly faulty logic.  2. n. The act of handwaving.  "Boy, what    a
  11858. handwave!"
  11859.  
  11860.    If someone starts a sentence with "Clearly..." or    "Obviously..."
  11861. or "It is self-evident that...", it is    a good bet he is about to
  11862. handwave (alternatively, use of these    constructions in a sarcastic
  11863. tone before a paraphrase of someone    else's argument suggests that it
  11864. is a handwave).  The theory behind    this term is that if you wave
  11865. your hands at the right moment, the    listener may be sufficiently
  11866. distracted to not notice that what you    have said is {bogus}.
  11867. Failing that, if a listener does object,    you might try to dismiss
  11868. the objection with a wave of your hand.
  11869.  
  11870.    The use of this word is often accompanied by gestures: both hands
  11871. up, palms forward, swinging the hands in a vertical plane pivoting
  11872. at the elbows and/or shoulders (depending on the magnitude of the
  11873. handwave); alternatively, holding the forearms in one position    while
  11874. rotating the hands at the wrist to make them flutter.  In    context,
  11875. the gestures alone can suffice as a remark; if a speaker    makes an
  11876. outrageously unsupported assumption, you might simply wave    your
  11877. hands in this way, as an accusation, far more eloquent than    words
  11878. could express, that his logic is faulty.
  11879.  
  11880.    :hang: v.  1. [very common] To wait for an event that will    never
  11881. occur.  "The system is hanging because it can't read from    the
  11882. crashed drive".  See {wedged}, {hung}.  2. To wait for    some event to
  11883. occur; to hang around until something happens.  "The    program
  11884. displays a menu and then hangs until you type a    character."  Compare
  11885. {block}.  3. To attach a peripheral    device, esp. in the construction
  11886. `hang off': "We're going to    hang another tape drive off the file
  11887. server."  Implies a device    attached with cables, rather than
  11888. something that is strictly inside    the machine's chassis.
  11889.  
  11890.    :Hanlon's Razor: prov.  A corollary of {Finagle's Law},    similar
  11891. to Occam's Razor, that reads "Never attribute to malice    that which
  11892. can be adequately explained by stupidity."  The    derivation of the
  11893. Hanlon eponym is not definitely known, but a very    similar remark
  11894. ("You have attributed conditions to villainy that    simply result from
  11895. stupidity.") appears in "Logic of Empire",    a classic 1941 SF story
  11896. by Robert A. Heinlein, who calls it the    `devil theory' of sociology.
  11897. Heinlein's popularity in the hacker    culture makes plausible the
  11898. supposition that `Hanlon' is derived    from `Heinlein' by phonetic
  11899. corruption.  A similar epigram has been    attributed to William James,
  11900. but Heinlein more probably got the    idea from Alfred Korzybski and
  11901. other practitioners of General    Semantics.  Quoted here because it
  11902. seems to be a particular    favorite of hackers, often showing up in
  11903. {sig block}s,    {fortune cookie} files and the login banners of BBS
  11904. systems and    commercial networks.  This probably reflects the
  11905. hacker's daily    experience of environments created by
  11906. well-intentioned but    short-sighted people.  Compare {Sturgeon's Law},
  11907.   {Ninety-Ninety Rule}.
  11908.  
  11909.    :happily: adv.  Of software, used to emphasize that a program    is
  11910. unaware of some important fact about its environment, either    because
  11911. it has been fooled into believing a lie, or because it    doesn't care.
  11912. The sense of `happy' here is not that of elation,    but rather that
  11913. of blissful ignorance.  "The program continues to    run, happily
  11914. unaware that its output is going to /dev/null."  Also    used to
  11915. suggest that a program or device would really rather be    doing
  11916. something destructive, and is being given an opportunity to    do so.
  11917. "If you enter an O here instead of a zero, the program    will happily
  11918. erase all your data."
  11919.  
  11920.    :haque: /hak/ n.  [Usenet] Variant spelling of {hack},    used only
  11921. for the noun form and connoting an {elegant}    hack. that is a {hack}
  11922. in sense 2.
  11923.  
  11924.    :hard boot: n.  See {boot}.
  11925.  
  11926.    :hardcoded: adj.  1. [common] Said of data inserted    directly into
  11927. a program, where it cannot be easily modified, as    opposed to data in
  11928. some {profile}, resource (see {de-rezz}    sense 2), or environment
  11929. variable that a {user} or hacker can    easily modify.  2. In C, this
  11930. is esp. applied to use of a literal    instead of a `#define' macro
  11931. (see {magic number}).
  11932.  
  11933.    :hardwarily: /hard-weir'*-lee/ adv.  In a way pertaining to
  11934. hardware.  "The system is hardwarily unreliable."  The adjective
  11935. `hardwary' is _not_ traditionally used, though it has    recently been
  11936. reported from the U.K.  See {softwarily}.
  11937.  
  11938.    :hardwired: adj.  1. In software, syn. for {hardcoded}.     2. By
  11939. extension, anything that is not modifiable, especially in the    sense
  11940. of customizable to one's particular needs or tastes.
  11941.  
  11942.    :has the X nature:  [seems to derive from Zen Buddhist koans    of
  11943. the form "Does an X have the Buddha-nature?"] adj. Common    hacker
  11944. construction for `is an X', used for humorous emphasis.     "Anyone who
  11945. can't even use a program with on-screen help embedded    in it truly
  11946. has the {loser} nature!"  See also {the X that    can be Y is not the
  11947. true X}. See also {mu}.
  11948.  
  11949.    :hash bucket: n.  A notional receptacle, a set of which might    be
  11950. used to apportion data items for sorting or lookup purposes.     When
  11951. you look up a name in the phone book (for example), you    typically
  11952. hash it by extracting its first letter; the hash buckets    are the
  11953. alphabetically ordered letter sections.  This term is used    as
  11954. techspeak with respect to code that uses actual hash functions;    in
  11955. jargon, it is used for human associative memory as well.  Thus,    two
  11956. things `in the same hash bucket' are more difficult to    discriminate,
  11957. and may be confused.  "If you hash English words    only by length, you
  11958. get too many common grammar words in the first    couple of hash
  11959. buckets." Compare {hash collision}.
  11960.  
  11961.    :hash collision: n.  [from the techspeak] (var. `hash    clash')
  11962. When used of people, signifies a confusion in associative    memory or
  11963. imagination, especially a persistent one (see    {thinko}).  True
  11964. story: One of us [ESR] was once on the phone    with a friend about to
  11965. move out to Berkeley.  When asked what he    expected Berkeley to be
  11966. like, the friend replied: "Well, I have    this mental picture of naked
  11967. women throwing Molotov cocktails, but    I think that's just a
  11968. collision in my hash tables."  Compare    {hash bucket}.
  11969.  
  11970.    :hat: n.  Common (spoken) name for the circumflex (`^', ASCII
  11971. 1011110) character.  See {ASCII} for other synonyms.
  11972.  
  11973.    :HCF: /H-C-F/ n.  Mnemonic for `Halt and Catch Fire', any    of
  11974. several undocumented and semi-mythical machine instructions with
  11975. destructive side-effects, supposedly included for test purposes on
  11976. several well-known architectures going as far back as the IBM 360.
  11977. The MC6800 microprocessor was the first for which an HCF opcode
  11978. became widely known.  This instruction caused the processor to
  11979. {toggle} a subset of the bus lines as rapidly as it could; in    some
  11980. configurations this could actually cause lines to burn    up. Compare
  11981. {killer poke}.
  11982.  
  11983.    :heads down: [Sun] adj.  Concentrating, usually so heavily and
  11984. for so long that everything outside the focus area is missed.  See
  11985. also {hack mode} and {larval stage}, although this mode is    hardly
  11986. confined to fledgling hackers.
  11987.  
  11988.    :heartbeat: n.  1. The signal emitted by a Level 2 Ethernet
  11989. transceiver at the end of every packet to show that the
  11990. collision-detection circuit is still connected.  2. A periodic
  11991. synchronization signal used by software or hardware, such as a bus
  11992. clock or a periodic interrupt.  3. The `natural' oscillation
  11993. frequency of a computer's clock crystal, before frequency division
  11994. down to the machine's clock rate.  4. A signal emitted at regular
  11995. intervals by software to demonstrate that it is still alive.
  11996. Sometimes hardware is designed to reboot the machine if it stops
  11997. hearing a heartbeat.  See also {breath-of-life packet}.
  11998.  
  11999.    :heatseeker: n.  [IBM] A customer who can be relied upon    to buy,
  12000. without fail, the latest version of an existing product    (not quite
  12001. the same as a member of the {lunatic fringe}).  A    1993 example of a
  12002. heatseeker was someone who, owning a 286 PC and    Windows 3.0, went
  12003. out and bought Windows 3.1 (which offers no    worthwhile benefits
  12004. unless you have a 386).  If all customers were    heatseekers, vast
  12005. amounts of money could be made by just fixing    some of the bugs in
  12006. each release (n) and selling it to them as    release (n+1).
  12007.  
  12008.    :heavy metal: n.  [Cambridge] Syn. {big iron}.
  12009.  
  12010.    :heavy wizardry: n.  Code or designs that trade on a    particularly
  12011. intimate knowledge or experience of a particular    operating system or
  12012. language or complex application interface.     Distinguished from {deep
  12013. magic}, which trades more on arcane    _theoretical_ knowledge.
  12014. Writing device drivers is heavy    wizardry; so is interfacing to {X}
  12015. (sense 2) without a toolkit.     Esp. found in source-code comments of
  12016. the form "Heavy wizardry    begins here".  Compare {voodoo programming}.
  12017.  
  12018.    :heavyweight: adj.  [common] High-overhead; {baroque};
  12019. code-intensive; featureful, but costly.  Esp. used of    communication
  12020. protocols, language designs, and any sort of    implementation in which
  12021. maximum generality and/or ease of    implementation has been pushed at
  12022. the expense of mundane    considerations such as speed, memory
  12023. utilization, and startup time.     {EMACS} is a heavyweight editor; {X}
  12024. is an _extremely_    heavyweight window system.  This term isn't
  12025. pejorative, but one    hacker's heavyweight is another's {elephantine}
  12026. and a third's    {monstrosity}.  Oppose `lightweight'.  Usage: now
  12027. borders on    techspeak, especially in the compound `heavyweight
  12028. process'.
  12029.  
  12030.    :heisenbug: /hi:'zen-buhg/ n.  [from Heisenberg's    Uncertainty
  12031. Principle in quantum physics] A bug that disappears or    alters its
  12032. behavior when one attempts to probe or isolate it.     (This usage is
  12033. not even particularly fanciful; the use of a    debugger sometimes
  12034. alters a program's operating environment    significantly enough that
  12035. buggy code, such as that which relies on    the values of uninitialized
  12036. memory, behaves quite differently.)     Antonym of {Bohr bug}; see also
  12037. {mandelbug},    {schroedinbug}.  In C, nine out of ten heisenbugs
  12038. result from    uninitialized auto variables, {fandango on core}
  12039. phenomena    (esp. lossage related to corruption of the malloc {arena})
  12040. or    errors that {smash the stack}.
  12041.  
  12042.    :Helen Keller mode: n.  1. State of a hardware or software    system
  12043. that is deaf, dumb, and blind, i.e., accepting no input and
  12044. generating no output, usually due to an infinite loop or some other
  12045. excursion into {deep space}.  (Unfair to the real Helen Keller,
  12046. whose success at learning speech was triumphant.)  See also {go
  12047. flatline}, {catatonic}.  2. On IBM PCs under DOS, refers to a
  12048. specific failure mode in which a screen saver has kicked in over an
  12049. {ill-behaved} application which bypasses the very interrupts the
  12050. screen saver watches for activity.  Your choices are to try to get
  12051. from the program's current state through a successful save-and-exit
  12052. without being able to see what you're doing, or to re-boot the
  12053. machine.  This isn't (strictly speaking) a crash.
  12054.  
  12055.    :hello sailor!: interj.  Occasional West Coast equivalent    of
  12056. {hello world}; seems to have originated at SAIL, later    associated
  12057. with the game {Zork} (which also included "hello,    aviator" and
  12058. "hello, implementor").  Originally from the    traditional hooker's
  12059. greeting to a swabbie fresh off the boat, of    course.  The standard
  12060. response is "Nothing happens here."; of all    the Zork/Dungeon games,
  12061. only in Infocom's Zork 3 is "Hello, Sailor"    actually useful
  12062. (excluding the unique situation where _knowing_    this fact is
  12063. important in Dungeon...).
  12064.  
  12065.    :hello, wall!: excl.  See {wall}.
  12066.  
  12067.    :hello world: interj.  1. The canonical minimal test message    in
  12068. the C/Unix universe.  2. Any of the minimal programs that emit    this
  12069. message.  Traditionally, the first program a C coder is    supposed to
  12070. write in a new environment is one that just prints    "hello, world" to
  12071. standard output (and indeed it is the first    example program in
  12072. {K&R}).  Environments that generate an    unreasonably large executable
  12073. for this trivial test or which    require a {hairy} compiler-linker
  12074. invocation to generate it are    considered to {lose} (see {X}).  3.
  12075. Greeting uttered by a    hacker making an entrance or requesting
  12076. information from anyone    present.  "Hello, world!  Is the LAN back up
  12077. yet?"
  12078.  
  12079.    :hex: n.  1. Short for {{hexadecimal}}, base 16.  2. A 6-pack    of
  12080. anything (compare {quad}, sense 2).  Neither usage has    anything to
  12081. do with {magic} or {black art}, though the pun is    appreciated and
  12082. occasionally used by hackers.  True story: As a    joke, some hackers
  12083. once offered some surplus ICs for sale to be    worn as protective
  12084. amulets against hostile magic.  The chips were,    of course, hex
  12085. inverters.
  12086.  
  12087.    :hexadecimal:: n.  Base 16.  Coined in the early 1960s to    replace
  12088. earlier `sexadecimal', which was too racy and amusing    for stuffy
  12089. IBM, and later adopted by the rest of the industry.
  12090.  
  12091.    Actually, neither term is etymologically pure.  If we take
  12092. `binary' to be paradigmatic, the most etymologically correct    term
  12093. for base 10, for example, is `denary', which comes from    `deni' (ten
  12094. at a time, ten each), a Latin `distributive'    number; the
  12095. corresponding term for base-16 would be something like    `sendenary'.
  12096. `Decimal' is from an ordinal number; the    corresponding prefix for 6
  12097. would imply something like    `sextidecimal'.  The `sexa-' prefix is
  12098. Latin but incorrect in    this context, and `hexa-' is Greek.  The word
  12099. `octal' is    similarly incorrect; a correct form would be `octaval'
  12100. (to go    with decimal), or `octonary' (to go with binary).  If anyone
  12101. ever    implements a base-3 computer, computer scientists will be faced
  12102.   with the unprecedented dilemma of a choice between two    _correct_
  12103. forms; both `ternary' and `trinary' have a    claim to this throne.
  12104.  
  12105.    :hexit: /hek'sit/ n.  A hexadecimal digit (0-9, and A-F or    a-f).
  12106. Used by people who claim that there are only _ten_    digits, dammit;
  12107. sixteen-fingered human beings are rather rare,    despite what some
  12108. keyboard designs might seem to imply (see    {space-cadet keyboard}).
  12109.  
  12110.    :HHOK:  See {ha ha only serious}.
  12111.  
  12112.    :HHOS:  See {ha ha only serious}.
  12113.  
  12114.    :hidden flag: n.  [scientific computation] An extra option    added
  12115. to a routine without changing the calling sequence.  For    example,
  12116. instead of adding an explicit input variable to instruct a    routine
  12117. to give extra diagnostic output, the programmer might just    add a
  12118. test for some otherwise meaningless feature of the existing    inputs,
  12119. such as a negative mass.  The use of hidden flags can make    a program
  12120. very hard to debug and understand, but is all too common    wherever
  12121. programs are hacked on in a hurry.
  12122.  
  12123.    :high bit: n.  [from `high-order bit'] 1. The most    significant
  12124. bit in a byte.  2. [common] By extension, the most    significant part
  12125. of something other than a data byte: "Spare me    the whole {saga},
  12126. just give me the high bit."  See also    {meta bit}, {hobbit}, {dread
  12127. high-bit disease}, and    compare the mainstream slang `bottom line'.
  12128.  
  12129.    :high moby: /hi:' mohb'ee/ n.  The high half of a 512K    {PDP-10}'s
  12130. physical address space; the other half was of course    the low moby.
  12131. This usage has been generalized in a way that has    outlasted the
  12132. {PDP-10}; for example, at the 1990 Washington D.C.     Area Science
  12133. Fiction Conclave (Disclave), when a miscommunication    resulted in two
  12134. separate wakes being held in commemoration of the    shutdown of MIT's
  12135. last {{ITS}} machines, the one on the upper    floor was dubbed the
  12136. `high moby' and the other the `low moby'.     All parties involved
  12137. {grok}ked this instantly.  See {moby}.
  12138.  
  12139.    :highly: adv.  [scientific computation] The preferred modifier
  12140. for overstating an understatement.  As in: `highly nonoptimal',    the
  12141. worst possible way to do something; `highly nontrivial',    either
  12142. impossible or requiring a major research project; `highly
  12143. nonlinear', completely erratic and unpredictable; `highly
  12144. nontechnical', drivel written for {luser}s, oversimplified to    the
  12145. point of being misleading or incorrect (compare {drool-proof
  12146. paper}).  In other computing cultures, postfixing of {in the
  12147. extreme} might be preferred.
  12148.  
  12149.    :hing: // n.  [IRC] Fortuitous typo for `hint', now in    wide
  12150. intentional use among players of {initgame}.  Compare    {newsfroup},
  12151. {filk}.
  12152.  
  12153.    :hired gun: n.  A contract programmer, as opposed to a    full-time
  12154. staff member.  All the connotations of this term    suggested by
  12155. innumerable spaghetti Westerns are intentional.
  12156.  
  12157.    :hirsute: adj.  Occasionally used humorously as a synonym for
  12158. {hairy}.
  12159.  
  12160.    :HLL: /H-L-L/ n.  [High-Level Language (as opposed to    assembler)]
  12161. Found primarily in email and news rather than speech.     Rarely, the
  12162. variants `VHLL' and `MLL' are found.  VHLL stands for
  12163. `Very-High-Level Language' and is used to describe a
  12164. {bondage-and-discipline language} that the speaker happens to    like;
  12165. Prolog and Backus's FP are often called VHLLs.  `MLL' stands    for
  12166. `Medium-Level Language' and is sometimes used half-jokingly to
  12167. describe {C}, alluding to its `structured-assembler' image.     See
  12168. also {languages of choice}.
  12169.  
  12170.    :hoarding: n.  See {software hoarding}.
  12171.  
  12172.    :hobbit: n.  1. [rare] The High Order BIT of a byte; same    as the
  12173. {meta bit} or {high bit}.  2. The non-ITS name of    <vad@ai.mit.edu>
  12174. (*Hobbit*), master of lasers.
  12175.  
  12176.    :hog: n.,vt.  1. Favored term to describe programs or    hardware
  12177. that seem to eat far more than their share of a system's    resources,
  12178. esp. those which noticeably degrade interactive    response.  _Not_
  12179. used of programs that are simply extremely    large or complex or that
  12180. are merely painfully slow themselves.     More often than not
  12181. encountered in qualified forms, e.g., `memory    hog', `core hog', `hog
  12182. the processor', `hog the disk'.  "A    controller that never gives up
  12183. the I/O bus gets killed after the    bus-hog timer expires."  2. Also
  12184. said of _people_ who use    more than their fair share of resources
  12185. (particularly disk, where    it seems that 10% of the people use 90% of
  12186. the disk, no matter how    big the disk is or how many people use it).
  12187. Of course, once disk    hogs fill up one filesystem, they typically
  12188. find some other new one    to infect, claiming to the sysadmin that
  12189. they have an important new    project to complete.
  12190.  
  12191.    :hole: n.  A region in an otherwise {flat} entity which is    not
  12192. actually present.  For example, some Unix filesystems can store
  12193. large files with holes so that unused regions of the file are never
  12194. actually stored on disk.  (In techspeak, these are referred to as
  12195. `sparse' files.)  As another example, the region of memory in IBM
  12196. PCs reserved for memory-mapped I/O devices which may not actually    be
  12197. present is called `the I/O hole', since memory-management    systems
  12198. must skip over this area when filling user requests for    memory.
  12199.  
  12200.    :hollised: /hol'ist/ adj.  [Usenet: sci.space]    To be hollised is
  12201. to have been ordered by one's employer not to    post any even remotely
  12202. job-related material to Usenet (or, by    extension, to other Internet
  12203. media).  The original and most    notorious case of this involved one
  12204. Ken Hollis, a Lockheed    employee and space-program enthusiast who
  12205. posted publicly available    material on access to Space Shuttle
  12206. launches to sci.space.     He was gagged under threat of being fired in
  12207. 1994 at the behest of    NASA public-relations officers. The result
  12208. was, of course, a huge    publicity black eye for NASA.  Nevertheless
  12209. several other NASA    contractor employees were subsequently hollised
  12210. for similar    activities.  Use of this term carries the strong
  12211. connotation that    the persons doing the gagging are bureaucratic
  12212. idiots blinded to    their own best interests by territorial reflexes.
  12213.  
  12214.    :holy wars: n.  [from {Usenet}, but may predate it;    common] n.
  12215. {flame war}s over {religious issues}.  The    paper by Danny Cohen that
  12216. popularized the terms {big-endian} and    {little-endian} in connection
  12217. with the LSB-first/MSB-first    controversy was entitled "On Holy Wars
  12218. and a Plea for Peace".     Other perennial Holy Wars have included
  12219. {EMACS} vs. {vi},    my personal computer vs. everyone else's personal
  12220. computer,    {{ITS}} vs. {{Unix}}, {{Unix}} vs. {VMS}, {BSD} Unix
  12221. vs. {USG Unix}, {C} vs. {{Pascal}}, {C} vs.     FORTRAN, etc., ad
  12222. nauseam.  The characteristic that distinguishes    holy wars from
  12223. normal technical disputes is that in a holy war most    of the
  12224. participants spend their time trying to pass off personal    value
  12225. choices and cultural attachments as objective technical    evaluations.
  12226. See also {theology}.
  12227.  
  12228.    :home box: n.  A hacker's personal machine, especially one he    or
  12229. she owns.  "Yeah?  Well, _my_ home box runs a full 4.4    BSD, so
  12230. there!"
  12231.  
  12232.    :home machine: n.  1. Syn. {home box}.  2. The machine that
  12233. receives your email.  These senses might be distinct, for example,
  12234. for a hacker who owns one computer at home, but reads email at    work.
  12235.  
  12236.    :home page: n.  1. One's personal billboard on the World Wide
  12237. Web.  The term `home page' is perhaps a bit misleading because home
  12238. directories and physical homes in {RL} are private, but home    pages
  12239. are designed to be very public.  2. By extension, a WWW    repository
  12240. for information and links related to a project or    organization.
  12241. Compare {home box}.
  12242.  
  12243.    :hook: n.  A software or hardware feature included in order to
  12244. simplify later additions or changes by a user.  For example, a
  12245. simple program that prints numbers might always print them in base
  12246. 10, but a more flexible version would let a variable determine what
  12247. base to use; setting the variable to 5 would make the program print
  12248. numbers in base 5.  The variable is a simple hook.  An even more
  12249. flexible program might examine the variable and treat a value of 16
  12250. or less as the base to use, but treat any other number as the
  12251. address of a user-supplied routine for printing a number.  This is    a
  12252. {hairy} but powerful hook; one can then write a routine to    print
  12253. numbers as Roman numerals, say, or as Hebrew characters, and    plug it
  12254. into the program through the hook.  Often the difference    between a
  12255. good program and a superb one is that the latter has    useful hooks in
  12256. judiciously chosen places.  Both may do the    original job about
  12257. equally well, but the one with the hooks is much    more flexible for
  12258. future expansion of capabilities ({EMACS}, for    example, is _all_
  12259. hooks).  The term `user exit' is    synonymous but much more formal and
  12260. less hackish.
  12261.  
  12262.    :hop:  1. n. [common] One file transmission in a series    required
  12263. to get a file from point A to point B on a    store-and-forward
  12264. network.  On such networks (including    {UUCPNET} and {FidoNet}), an
  12265. important inter-machine metric    is the number of hops in the shortest
  12266. path between them, which can    be more significant than their
  12267. geographical separation.  See    {bang path}. 2. v. [rare] To log in to
  12268. a remote machine,    esp. via rlogin or telnet. "I'll hop over to
  12269. foovax to FTP that."
  12270.  
  12271.    :hose:  1. vt. [common] To make non-functional or greatly
  12272. degraded in performance.  "That big ray-tracing program really    hoses
  12273. the system."  See {hosed}.  2. n. A narrow channel    through which
  12274. data flows under pressure.  Generally denotes data    paths that
  12275. represent performance bottlenecks.  3. n. Cabling,    especially thick
  12276. Ethernet cable.  This is sometimes called `bit    hose' or `hosery'
  12277. (play on `hosiery') or `etherhose'.  See    also {washing machine}.
  12278.  
  12279.    :hosed: adj.  Same as {down}.  Used primarily by Unix    hackers.
  12280. Humorous: also implies a condition thought to be    relatively easy to
  12281. reverse.  Probably derived from the Canadian    slang `hoser'
  12282. popularized by the Bob and Doug Mackenzie skits on    SCTV, but this
  12283. usage predated SCTV by years in hackerdom (it was    certainly already
  12284. live at CMU in the 1970s).  See {hose}.  It is    also widely used of
  12285. people in the mainstream sense of `in an    extremely unfortunate
  12286. situation'.
  12287.  
  12288.    Once upon a time, a Cray that had been experiencing periodic
  12289. difficulties crashed, and it was announced to have been hosed.     It
  12290. was discovered that the crash was due to the disconnection of    some
  12291. coolant hoses.  The problem was corrected, and users were then
  12292. assured that everything was OK because the system had been rehosed.
  12293. See also {dehose}.
  12294.  
  12295.    :hot chat: n.  Sexually explicit one-on-one chat.  See
  12296. {teledildonics}.
  12297.  
  12298.    :hot spot: n.  1. [primarily used by C/Unix programmers, but
  12299. spreading] It is received wisdom that in most programs, less than
  12300. 10% of the code eats 90% of the execution time; if one were to    graph
  12301. instruction visits versus code addresses, one would typically    see a
  12302. few huge spikes amidst a lot of low-level noise.  Such spikes    are
  12303. called `hot spots' and are good candidates for heavy    optimization or
  12304. {hand-hacking}.  The term is especially used of    tight loops and
  12305. recursions in the code's central algorithm, as    opposed to (say)
  12306. initial set-up costs or large but infrequent I/O    operations.  See
  12307. {tune}, {bum}, {hand-hacking}.  2. The    active location of a cursor
  12308. on a bit-map display.  "Put the    mouse's hot spot on the `ON' widget
  12309. and click the left button."     3. A screen region that is sensitive to
  12310. mouse gestures, which    trigger some action.  World Wide Web pages now
  12311. provide the    {canonical} examples; WWW browsers present hypertext
  12312. links as    hot spots which, when clicked on, point the browser at
  12313. another    document (these are specifically called {hotlink}s).  4. In a
  12314.   massively parallel computer with shared memory, the one location
  12315. that all 10,000 processors are trying to read or write at once
  12316. (perhaps because they are all doing a {busy-wait} on the same    lock).
  12317. 5. More generally, any place in a hardware design that    turns into a
  12318. performance bottleneck due to resource    contention.
  12319.  
  12320.    :hotlink: /hot'link/ n.  A {hot spot} on a World Wide Web    page;
  12321. an area, which, when clicked or selected, chases a URL.     Also
  12322. spelled `hot link'.  Use of this term focuses on the link's    role as
  12323. an immediate part of your display, as opposed to the    timeless sense
  12324. of logical connection suggested by {web    pointer}. Your screen shows
  12325. hotlinks but your document has web    pointers, not (in normal usage)
  12326. the other way around.
  12327.  
  12328.    :house wizard: n.  [prob. from ad-agency tradetalk, `house
  12329. freak'] A hacker occupying a technical-specialist, R&D, or systems
  12330. position at a commercial shop.  A really effective house wizard can
  12331. have influence out of all proportion to his/her ostensible rank and
  12332. still not have to wear a suit.  Used esp. of Unix wizards.  The    term
  12333. `house guru' is equivalent.
  12334.  
  12335.    :HP-SUX: /H-P suhks/ n.  Unflattering hackerism for    HP-UX,
  12336. Hewlett-Packard's Unix port, which features some truly    unique
  12337. bogosities in the filesystem internals and elsewhere (these
  12338. occasionally create portability problems).  HP-UX is often referred
  12339. to as `hockey-pux' inside HP, and one respondent claims that the
  12340. proper pronunciation is /H-P ukkkhhhh/ as though one were about    to
  12341. spit.  Another such alternate spelling and pronunciation is    "H-PUX"
  12342. /H-puhks/.  Hackers at HP/Apollo (the former Apollo    Computers which
  12343. was swallowed by HP in 1989) have been heard to    complain that Mr.
  12344. Packard should have pushed to have his name    first, if for no other
  12345. reason than the greater eloquence of the    resulting acronym.  Compare
  12346. {AIDX}, {buglix}.  See also    {Nominal Semidestructor}, {Telerat},
  12347. {ScumOS},    {sun-stools}, {Slowlaris}.
  12348.  
  12349.    :huff: v.  To compress data using a Huffman code.  Various
  12350. programs that use such methods have been called `HUFF' or some
  12351. variant thereof.  Oppose {puff}.  Compare {crunch},    {compress}.
  12352.  
  12353.    :humma: // excl.  A filler word used on various `chat'    and `talk'
  12354. programs when you had nothing to say but felt that it    was important
  12355. to say something.  The word apparently originated (at    least with
  12356. this definition) on the MECC Timeshare System (MTS, a    now-defunct
  12357. educational time-sharing system running in Minnesota    during the
  12358. 1970s and the early 1980s) but was later sighted on    early Unix
  12359. systems.  Compare the U.K's {wibble}.
  12360.  
  12361.    :hung: adj.  [from `hung up'; common] Equivalent to    {wedged}, but
  12362. more common at Unix/C sites.  Not generally used    of people.  Syn.
  12363. with {locked up}, {wedged}; compare    {hosed}.  See also {hang}.  A
  12364. hung state is distinguished    from {crash}ed or {down}, where the
  12365. program or system is also    unusable but because it is not running
  12366. rather than because it is    waiting for something.  However, the
  12367. recovery from both situations    is often the same.  It is also
  12368. distinguished from the similar but    more drastic state {wedged} -
  12369. hung software can be woken up    with easy things like interrupt keys,
  12370. but wedged will need a kill    -9 or even reboot.
  12371.  
  12372.    :hungry puppy: n.  Syn. {slopsucker}.
  12373.  
  12374.    :hungus: /huhng'g*s/ adj.  [perhaps related to slang    `humongous']
  12375. Large, unwieldy, usually unmanageable.  "TCP is a    hungus piece of
  12376. code."  "This is a hungus set of modifications."
  12377.  
  12378.    :hyperspace: /hi:'per-spays/ n.  A memory location that is    _far_
  12379. away from where the program counter should be pointing,    especially a
  12380. place that is inaccessible because it is not even    mapped in by the
  12381. virtual-memory system.  "Another core dump --    looks like the program
  12382. jumped off to hyperspace somehow."     (Compare {jump off into
  12383. never-never land}.)  This usage is from    the SF notion of a spaceship
  12384. jumping `into hyperspace', that is,    taking a shortcut through
  12385. higher-dimensional space -- in other    words, bypassing this universe.
  12386. The variant `east hyperspace' is    recorded among CMU and Bliss
  12387. hackers.
  12388.  
  12389.    :hysterical reasons: n.  (also `hysterical raisins') A    variant on
  12390. the stock phrase "for historical reasons", indicating    specifically
  12391. that something must be done in some stupid way for    backwards
  12392. compatibility, and moreover that the feature it must be    compatible
  12393. with was the result of a bad design in the first place.     "All IBM PC
  12394. video adapters have to support MDA text mode for    hysterical
  12395. reasons."  Compare {bug-for-bug compatible}.
  12396.  
  12397. = I =
  12398. =====
  12399.  
  12400.    :I didn't change anything!: interj.  An aggrieved cry often    heard
  12401. as bugs manifest during a regression test.  The    {canonical} reply to
  12402. this assertion is "Then it works just the    same as it did before,
  12403. doesn't it?"  See also {one-line fix}.     This is also heard from
  12404. applications programmers trying to blame an    obvious applications
  12405. problem on an unrelated systems software    change, for example a
  12406. divide-by-0 fault after terminals were added    to a network.  Usually,
  12407. their statement is found to be false.  Upon    close questioning, they
  12408. will admit some major restructuring of the    program that shouldn't
  12409. have broken anything, in their opinion, but    which actually {hosed}
  12410. the code completely.
  12411.  
  12412.    :I see no X here.:  Hackers (and the interactive computer    games
  12413. they write) traditionally favor this slightly marked usage    over
  12414. other possible equivalents such as "There's no X here!" or    "X is
  12415. missing."  or "Where's the X?".  This goes back to the    original
  12416. PDP-10 {ADVENT}, which would respond in this wise if    you asked it to
  12417. do something involving an object not present at    your location in the
  12418. game.
  12419.  
  12420.    :IANAL: //  [Usenet] Abbreviation, "I Am Not A Lawyer".     Usually
  12421. precedes legal advice.
  12422.  
  12423.    :IBM: /I-B-M/  Inferior But Marketable; It's Better    Manually;
  12424. Insidious Black Magic; It's Been Malfunctioning;    Incontinent Bowel
  12425. Movement; and a near-{infinite} number of even    less complimentary
  12426. expansions, including `International Business    Machines'.  See {TLA}.
  12427. These abbreviations illustrate the    considerable antipathy most
  12428. hackers long felt toward the    `industry leader' (see {fear and
  12429. loathing}).
  12430.  
  12431.    What galled hackers about most IBM machines above the PC level wasn't
  12432.   so much that they were underpowered and overpriced (though that does
  12433.   count against them), but that the designs are incredibly archaic,
  12434. {crufty}, and {elephantine} ... and you can't _fix_ them    -- source
  12435. code is locked up tight, and programming tools are    expensive, hard
  12436. to find, and bletcherous to use once you've found    them. For many
  12437. years, before Microsoft, IBM was the company hackers    loved to hate.
  12438.  
  12439.    But everything changes.  In the 1980s IBM had its own troubles with
  12440.  Microsoft.  In the late 1990s IBM re-invented itself as a services
  12441. company, began to release open-source software through its
  12442. AlphaWorks group, and began shipping {Linux} systems and    building
  12443. ties to the Linux community.  To the astonishment of all    parties,
  12444. IBM emerged as a friend of the hacker community
  12445.  
  12446.    This lexicon includes a number of entries attributed to `IBM';
  12447. these derive from some rampantly unofficial jargon lists circulated
  12448. within IBM's own beleaguered hacker underground.
  12449.  
  12450.    :IBM discount: n.  A price increase.  Outside IBM, this    derives
  12451. from the common perception that IBM products are generally
  12452. overpriced (see {clone}); inside, it is said to spring from a    belief
  12453. that large numbers of IBM employees living in an area cause    prices
  12454. to rise.
  12455.  
  12456.    :ICBM address: n.  (Also `missile address') The form    used to
  12457. register a site with the Usenet mapping project, back    before the day
  12458. of pervasive Internet, included a blank for    longitude and latitude,
  12459. preferably to seconds-of-arc accuracy.     This was actually used for
  12460. generating geographically-correct maps of    Usenet links on a plotter;
  12461. however, it became traditional to    refer to this as one's `ICBM
  12462. address' or `missile address', and    some people include it in their
  12463. {sig block} with that name.  (A    real missile address would include
  12464. target elevation.)
  12465.  
  12466.    :ice: n.  [coined by Usenetter Tom Maddox, popularized by    William
  12467. Gibson's cyberpunk SF novels: a contrived acronym for    `Intrusion
  12468. Countermeasure Electronics'] Security software (in    Gibson's novels,
  12469. software that responds to intrusion by attempting    to immobilize or
  12470. even literally kill the intruder).  Hence,    `icebreaker': a program
  12471. designed for cracking security on a    system.
  12472.  
  12473.    Neither term is in serious use yet as of early 1999, but many
  12474. hackers find the metaphor attractive, and each may develop a
  12475. denotation in the future. In the meantime, the speculative usage
  12476. could be confused with `ICE', an acronym for "in-circuit    emulator".
  12477.  
  12478.    In ironic reference to the speculative usage, however, some hackers
  12479.  and computer scientists formed ICE (International Cryptographic
  12480. Experiment) in 1994. ICE is a consortium to promote uniform
  12481. international access to strong cryptography.
  12482.  
  12483.    :idempotent: adj.  [from mathematical techspeak] Acting as if
  12484. used only once, even if used multiple times.  This term is often
  12485. used with respect to {C} header files, which contain common
  12486. definitions and declarations to be included by several source    files.
  12487. If a header file is ever included twice during the same    compilation
  12488. (perhaps due to nested #include files), compilation    errors can
  12489. result unless the header file has protected itself    against multiple
  12490. inclusion; a header file so protected is said to    be idempotent.  The
  12491. term can also be used to describe an    initialization subroutine that
  12492. is arranged to perform some critical    action exactly once, even if
  12493. the routine is called several times.
  12494.  
  12495.    :IDP: /I-D-P/ v.,n.  [Usenet] Abbreviation for {Internet    Death
  12496. Penalty}. Common (probably now more so than the full form),    and
  12497. frequently verbed. Compare {UDP}.
  12498.  
  12499.    :If you want X, you know where to find it.:  There is a legend
  12500. that Dennis Ritchie, inventor of {C}, once responded to demands    for
  12501. features resembling those of what at the time was a much more
  12502. popular language by observing "If you want PL/I, you know where to
  12503. find it."  Ever since, this has been hackish standard form for
  12504. fending off requests to alter a new design to mimic some older    (and,
  12505. by implication, inferior and {baroque}) one.  The case X =    {Pascal}
  12506. manifests semi-regularly on Usenet's comp.lang.c    newsgroup.  Indeed,
  12507. the case X = X has been reported in discussions    of graphics software
  12508. (see {X}).
  12509.  
  12510.    :ifdef out: /if'def owt/ v.  Syn. for {condition out},    specific
  12511. to {C}.
  12512.  
  12513.    :IIRC: //  Common abbreviation for "If I Recall Correctly".
  12514.  
  12515.    :ill-behaved: adj.  1. [numerical analysis] Said of an    algorithm
  12516. or computational method that tends to blow up because of    accumulated
  12517. roundoff error or poor convergence properties.     2. Software that
  12518. bypasses the defined {OS} interfaces to do    things (like screen,
  12519. keyboard, and disk I/O) itself, often in a way    that depends on the
  12520. hardware of the machine it is running on or    which is nonportable or
  12521. incompatible with other pieces of software.     In the IBM PC/MS-DOS
  12522. world, there is a folk theorem (nearly true)    to the effect that
  12523. (owing to gross inadequacies and performance    penalties in the OS
  12524. interface) all interesting applications are    ill-behaved.  See also
  12525. {bare metal}. Oppose {well-behaved},    compare {PC-ism}.  See
  12526. {mess-dos}.
  12527.  
  12528.    :IMHO: // abbrev.  [from SF fandom via Usenet; abbreviation for
  12529. `In My Humble Opinion'] "IMHO, mixed-case C names should be    avoided,
  12530. as mistyping something in the wrong case can cause    hard-to-detect
  12531. errors -- and they look too Pascalish anyhow."     Also seen in variant
  12532. forms such as IMNSHO (In My Not-So-Humble    Opinion) and IMAO (In My
  12533. Arrogant Opinion).
  12534.  
  12535.    :Imminent Death Of The Net Predicted!: prov.  [Usenet] Since
  12536. {Usenet} first got off the ground in 1980-81, it has grown
  12537. exponentially, approximately doubling in size every year.  On the
  12538. other hand, most people feel the {signal-to-noise ratio} of    Usenet
  12539. has dropped steadily.  These trends led, as far back as    mid-1983, to
  12540. predictions of the imminent collapse (or death) of the    net.  Ten
  12541. years and numerous doublings later, enough of these    gloomy
  12542. prognostications have been confounded that the phrase    "Imminent
  12543. Death Of The Net Predicted!" has become a running joke,    hauled out
  12544. any time someone grumbles about the {S/N ratio} or    the huge and
  12545. steadily increasing volume, or the possible loss of a    key node or
  12546. link, or the potential for lawsuits when ignoramuses    post
  12547. copyrighted material, etc., etc., etc.
  12548.  
  12549.    :in the extreme: adj.  A preferred superlative suffix for many
  12550. hackish terms.  See, for example, `obscure in the extreme' under
  12551. {obscure}, and compare {highly}.
  12552.  
  12553.    :inc: /ink/ v.  Verbal (and only rarely written) shorthand    for
  12554. increment, i.e. `increase by one'.  Especially used by    assembly
  12555. programmers, as many assembly languages have an `inc'    mnemonic.
  12556. Antonym: dec (see {DEC}).
  12557.  
  12558.    :incantation: n.  Any particularly arbitrary or obscure    command
  12559. that one must mutter at a system to attain a desired    result.  Not
  12560. used of passwords or other explicit security features.     Especially
  12561. used of tricks that are so poorly documented that they    must be
  12562. learned from a {wizard}.  "This compiler normally    locates
  12563. initialized data in the data segment, but if you    {mutter} the right
  12564. incantation they will be forced into text    space."
  12565.  
  12566.    :include: vt.  [Usenet] 1. To duplicate a portion (or whole)    of
  12567. another's message (typically with attribution to the source) in    a
  12568. reply or followup, for clarifying the context of one's response.
  12569. See the discussion of inclusion styles under "Hacker Writing    Style".
  12570. 2. [from {C}] `#include <disclaimer.h>' has    appeared in {sig
  12571. block}s to refer to a notional `standard    {disclaimer} file'.
  12572.  
  12573.    :include war: n.  Excessive multi-leveled inclusion within a
  12574. discussion {thread}, a practice that tends to annoy readers.  In    a
  12575. forum with high-traffic newsgroups, such as Usenet, this can lead    to
  12576. {flame}s and the urge to start a {kill file}.
  12577.  
  12578.    :indent style: n.  [C programmers] The rules one uses to    indent
  12579. code in a readable fashion.  There are four major C indent    styles,
  12580. described below; all have the aim of making it easier for    the reader
  12581. to visually track the scope of control constructs.  The    significant
  12582. variable is the placement of `{' and `}'    with respect to the
  12583. statement(s) they enclose and to the guard or    controlling statement
  12584. (`if', `else', `for',    `while', or `do') on the block, if any.
  12585.  
  12586.    `K&R style' -- Named after Kernighan & Ritchie, because the
  12587. examples in {K&R} are formatted this way.  Also called `kernel
  12588. style' because the Unix kernel is written in it, and the `One True
  12589. Brace Style' (abbrev. 1TBS) by its partisans.  The basic indent
  12590. shown here is eight spaces (or one tab) per level; four spaces are
  12591. occasionally seen, but are much less common.
  12592.  
  12593.      if (<cond>) {
  12594.              <body>
  12595.      }
  12596.  
  12597.    `Allman style' -- Named for Eric Allman, a Berkeley hacker who
  12598. wrote a lot of the BSD utilities in it (it is sometimes called    `BSD
  12599. style').  Resembles normal indent style in Pascal and    Algol.  Basic
  12600. indent per level shown here is eight spaces, but four    spaces are
  12601. just as common (esp. in C++ code).
  12602.  
  12603.      if (<cond>)
  12604.      {
  12605.              <body>
  12606.      }
  12607.  
  12608.    `Whitesmiths style' -- popularized by the examples that came    with
  12609. Whitesmiths C, an early commercial C compiler.  Basic indent    per
  12610. level shown here is eight spaces, but four spaces are    occasionally
  12611. seen.
  12612.  
  12613.      if (<cond>)
  12614.              {
  12615.              <body>
  12616.              }
  12617.  
  12618.    `GNU style' -- Used throughout GNU EMACS and the Free Software
  12619. Foundation code, and just about nowhere else.  Indents are always
  12620. four spaces per level, with `{' and `}' halfway between the    outer
  12621. and inner indent levels.
  12622.  
  12623.      if (<cond>)
  12624.        {
  12625.          <body>
  12626.        }
  12627.  
  12628. Surveys have shown the Allman and Whitesmiths styles to be the most
  12629. common, with about equal mind shares.  K&R/1TBS used to be nearly
  12630. universal, but is now much less common (the opening brace tends to
  12631. get lost against the right paren of the guard part in an `if'    or
  12632. `while', which is a {Bad Thing}).  Defenders of 1TBS    argue that any
  12633. putative gain in readability is less important than    their style's
  12634. relative economy with vertical space, which enables    one to see more
  12635. code on one's screen at once.  Doubtless these    issues will continue
  12636. to be the subject of {holy wars}.
  12637.  
  12638.    :index of X: n.  See {coefficient of X}.
  12639.  
  12640.    :infant mortality: n.  It is common lore among hackers (and in
  12641. the electronics industry at large; this term is possibly techspeak
  12642. by now) that the chances of sudden hardware failure drop off
  12643. exponentially with a machine's time since first use (that is, until
  12644. the relatively distant time at which enough mechanical wear in I/O
  12645. devices and thermal-cycling stress in components has accumulated    for
  12646. the machine to start going senile).  Up to half of all chip and    wire
  12647. failures happen within a new system's first few weeks; such    failures
  12648. are often referred to as `infant mortality' problems    (or,
  12649. occasionally, as `sudden infant death syndrome').  See    {bathtub
  12650. curve}, {burn-in period}.
  12651.  
  12652.    :infinite: adj.  [common] Consisting of a large number of
  12653. objects; extreme.  Used very loosely as in: "This program produces
  12654. infinite garbage."  "He is an infinite loser."  The word most    likely
  12655. to follow `infinite', though, is {hair}.  (It has been    pointed out
  12656. that fractals are an excellent example of infinite    hair.)  These
  12657. uses are abuses of the word's mathematical meaning.     The term
  12658. `semi-infinite', denoting an immoderately large amount    of some
  12659. resource, is also heard.  "This compiler is taking a    semi-infinite
  12660. amount of time to optimize my program."  See also    {semi}.
  12661.  
  12662.    :infinite loop: n.  One that never terminates (that is, the
  12663. machine {spin}s or {buzz}es forever and goes {catatonic}).     There is
  12664. a standard joke that has been made about each generation's    exemplar
  12665. of the ultra-fast machine: "The Cray-3 is so fast it can    execute an
  12666. infinite loop in under 2 seconds!"
  12667.  
  12668.    :Infinite-Monkey Theorem: n.  "If you put an {infinite}    number of
  12669. monkeys at typewriters, eventually one will bash out the    script for
  12670. Hamlet."  (One may also hypothesize a small number of    monkeys and a
  12671. very long period of time.)  This theorem asserts    nothing about the
  12672. intelligence of the one {random} monkey that    eventually comes up
  12673. with the script (and note that the mob will    also type out all the
  12674. possible _incorrect_ versions of    Hamlet).  It may be referred to
  12675. semi-seriously when justifying a    {brute force} method; the
  12676. implication is that, with enough    resources thrown at it, any
  12677. technical challenge becomes a    {one-banana problem}.  This argument
  12678. gets more respect since    {Linux} justified the {bazaar} mode of
  12679. development.
  12680.  
  12681.    This theorem was first popularized by the astronomer Sir Arthur
  12682. Eddington.  It became part of the idiom of techies via the classic
  12683. SF short story "Inflexible Logic" by Russell Maloney, and    many
  12684. younger hackers know it through a reference in Douglas Adams's
  12685. "Hitchhiker's Guide to the Galaxy".
  12686.  
  12687.    :infinity: n.  1. The largest value that can be represented in    a
  12688. particular type of variable (register, memory location, data    type,
  12689. whatever).  2. `minus infinity': The smallest such value,    not
  12690. necessarily or even usually the simple negation of plus    infinity.
  12691. In N-bit twos-complement arithmetic, infinity is    2^(N-1) - 1 but
  12692. minus infinity is -    (2^(N-1)), not -(2^(N-1) - 1).  Note also that
  12693. this    is different from "time T equals minus infinity", which is
  12694. closer to a mathematician's usage of infinity.
  12695.  
  12696.    :inflate: vt.  To decompress or {puff} a file.  Rare among
  12697. Internet hackers, used primarily by MS-DOS/Windows types.
  12698.  
  12699.    :Infocom: n.  A now-legendary games company, active from    1979 to
  12700. 1989, that commercialized the MDL parser technology used    for {Zork}
  12701. to produce a line of text adventure games that remain    favorites
  12702. among hackers.  Infocom's games were intelligent, funny,    witty,
  12703. erudite, irreverent, challenging, satirical, and most    thoroughly
  12704. hackish in spirit.  The physical game packages from    Infocom are now
  12705. prized collector's items.  After being acquired by    Activision in
  12706. 1989 they did a few more "modern"    (e.g. graphics-intensive) games
  12707. which were less successful than    reissues of their classics.
  12708.  
  12709.    The software, thankfully, is still extant; Infocom games were
  12710. written in a kind of P-code and distributed with a P-code
  12711. interpreter core, and not only freeware emulators for that
  12712. interpreter but an actual compiler as well have been written to
  12713. permit the P-code to be run on platforms the games never originally
  12714. graced. In fact, new games written in this P-code are still bering
  12715. written.  (Emulators that can run Infocom game ZIPs, and new games,
  12716. are available at
  12717. `ftp://wuarchive.wustl.edu:/doc/misc/if-archive/infocom'.)
  12718.  
  12719.    :initgame: /in-it'gaym/ n.  [IRC] An {IRC} version of    the trivia
  12720. game "Botticelli", in which one user changes his    {nick} to the
  12721. initials of a famous person or other named entity,    and the others on
  12722. the channel ask yes or no questions, with the one    to guess the
  12723. person getting to be "it" next.  As a courtesy, the    one picking the
  12724. initials starts by providing a 4-letter hint of the    form sex,
  12725. nationality, life-status, reality-status.  For example,    MAAR means
  12726. "Male, American, Alive, Real" (as opposed to    "fictional").  Initgame
  12727. can be surprisingly addictive.  See also    {hing}.
  12728.  
  12729.    [1996 update: a recognizable version of the initgame has become a
  12730. staple of some radio talk shows in the U.S.  We had it first!  - ESR]
  12731.  
  12732.    :insanely great: adj.  [Mac community, from Steve Jobs; also    BSD
  12733. Unix people via Bill Joy] Something so incredibly {elegant}    that it
  12734. is imaginable only to someone possessing the most puissant    of
  12735. {hacker}-natures.
  12736.  
  12737.    :INTERCAL: /in't*r-kal/ n.  [said by the authors to stand    for
  12738. `Compiler Language With No Pronounceable Acronym'] A computer
  12739. language designed by Don Woods and James Lyons in 1972.  INTERCAL    is
  12740. purposely different from all other computer languages in all    ways
  12741. but one; it is purely a written language, being totally    unspeakable.
  12742. An excerpt from the INTERCAL Reference Manual will    make the style
  12743. of the language clear:
  12744.  
  12745.      It is a well-known and oft-demonstrated fact that a person whose
  12746.      work is incomprehensible is held in high esteem.  For example, if
  12747.      one were to state that the simplest way to store a value of 65536
  12748.      in a 32-bit INTERCAL variable is:
  12749.  
  12750.           DO :1 <- #0$#256
  12751.  
  12752.      any sensible programmer would say that that was absurd.  Since this
  12753.      is indeed the simplest method, the programmer would be made to look
  12754.      foolish in front of his boss, who would of course have happened to
  12755.      turn up, as bosses are wont to do.  The effect would be no less
  12756.      devastating for the programmer having been correct.
  12757.  
  12758.    INTERCAL has many other peculiar features designed to make it even
  12759. more unspeakable.  The Woods-Lyons implementation was actually used
  12760. by many (well, at least several) people at Princeton.  The language
  12761. has been recently reimplemented as C-INTERCAL and is consequently
  12762. enjoying an unprecedented level of unpopularity; there is even an
  12763. alt.lang.intercal newsgroup devoted to the study and ...
  12764. appreciation of the language on Usenet.
  12765.  
  12766.    Inevitably, INTERCAL has a home page on the Web:
  12767. `http://www.tuxedo.org/intercal/'. An extended version,    implemented
  12768. in (what else?) {Perl} and adding object-oriented    features, is
  12769. available at `http://dd-sh.assurdo.com/INTERCAL'.     See also
  12770. {Befunge}.
  12771.  
  12772.    :interesting: adj.  In hacker parlance, this word has strong
  12773. connotations of `annoying', or `difficult', or both.  Hackers    relish
  12774. a challenge, and enjoy wringing all the irony possible out    of the
  12775. ancient Chinese curse "May you live in interesting times".     Oppose
  12776. {trivial}, {uninteresting}.
  12777.  
  12778.    :Internet:: n.   The mother of all networks.  First    incarnated
  12779. beginning in 1969 as the ARPANET, a U.S. Department of    Defense
  12780. research testbed.  Though it has been widely believed that    the goal
  12781. was to develop a network architecture for military
  12782. command-and-control that could survive disruptions up to and
  12783. including nuclear war, this is a myth; in fact, ARPANET was
  12784. conceived from the start as a way to get most economical use out of
  12785. then-scarce large-computer resources.
  12786.  
  12787.    As originally imagined, ARPANET's major use would have been to
  12788. support what is now called remote login and more sophisticated    forms
  12789. of distributed computing, but the infant technology of    electronic
  12790. mail quickly grew to dominate actual usage.     Universities, research
  12791. labs and defense contractors early    discovered the Internet's
  12792. potential as a medium of communication    between _humans_ and linked
  12793. up in steadily increasing numbers,    connecting together a quirky mix
  12794. of academics, techies, hippies, SF    fans, hackers, and anarchists.
  12795. The roots of this lexicon lie in    those early years.
  12796.  
  12797.    Over the next quarter-century the Internet evolved in many    ways.
  12798. The typical machine/OS combination moved from {DEC}    {PDP-10}s and
  12799. {PDP-20}s, running {TOPS-10} and    {TOPS-20}, to PDP-11s and VAXes and
  12800. Suns running {Unix}, and    in the 1990s to Unix on Intel
  12801. microcomputers.  The Internet's    protocols grew more capable, most
  12802. notably in the move from NCP/IP    to {TCP/IP} in 1982 and the
  12803. implementation of Domain Name    Service in 1983.  It was around this
  12804. time that people began    referring to the collection of interconnected
  12805. networks with ARPANET    at its core as "the Internet".
  12806.  
  12807.    The ARPANET had a fairly strict set of participation guidelines -
  12808. connected institutions had to be involved with a DOD-related
  12809. research project.  By the mid-80s, many of the organizations
  12810. clamoring to join didn't fit this profile.  In 1986, the National
  12811. Science Foundation built NSFnet to open up access to its five
  12812. regional supercomputing centers; NSFnet became the backbone of the
  12813. Internet, replacing the original ARPANET pipes (which were formally
  12814. shut down in 1990).  Between 1990 and late 1994 the pieces of    NSFnet
  12815. were sold to major telecommunications companies until    the Internet
  12816. backbone had gone completely commercial.
  12817.  
  12818.    That year, 1994, was also the year the mainstream culture
  12819. discovered the Internet.  Once again, the {killer app} was not the
  12820. anticipated one - rather, what caught the public imagination was    the
  12821. hypertext and multimedia features of the World Wide Web.
  12822. Subsequently the Internet has seen off its only serious challenger
  12823. (the OSI protocol stack favored by European telecom monopolies) and
  12824. is in the process of absorbing into itself many of the    proprietary
  12825. networks built during the second wave of wide-area    networking after
  12826. 1980.  It is now a commonplace even in mainstream    media to predict
  12827. that a globally-extended Internet will become the    key unifying
  12828. communications technology of the next century. See    also {the
  12829. network} and {Internet address}.
  12830.  
  12831.    :Internet address:: n.  1. [techspeak] An absolute network
  12832. address of the form foo@bar.baz, where foo is a user name, bar    is a
  12833. {sitename}, and baz is a `domain' name, possibly    including periods
  12834. itself.  Contrast with {bang path}; see also    {the network} and
  12835. {network address}.  All Internet machines    and most UUCP sites can
  12836. now resolve these addresses, thanks to a    large amount of
  12837. behind-the-scenes magic and {PD} software    written since 1980 or so.
  12838. See also {bang path}, {domainist}.     2. More loosely, any network
  12839. address reachable through Internet;    this includes {bang path}
  12840. addresses and some internal corporate    and government networks.
  12841.  
  12842.    Reading Internet addresses is something of an art.  Here are the
  12843. four most important top-level functional Internet domains followed
  12844. by a selection of geographical domains:
  12845.  
  12846.     com
  12847.           commercial organizations
  12848.  
  12849.     edu
  12850.           educational institutions
  12851.  
  12852.     gov
  12853.           U.S. government civilian sites
  12854.  
  12855.     mil
  12856.           U.S. military sites
  12857.  
  12858.    Note that most of the sites in the com and edu domains are in    the
  12859. U.S. or Canada.
  12860.  
  12861.     us
  12862.           sites in the U.S. outside the functional domains
  12863.  
  12864.     su
  12865.           sites in the ex-Soviet Union (see {kremvax}).
  12866.  
  12867.     uk
  12868.           sites in the United Kingdom
  12869.  
  12870.    Within the us domain, there are subdomains for the fifty    states,
  12871. each generally with a name identical to the state's postal
  12872. abbreviation.  Within the uk domain, there is an ac subdomain for
  12873. academic sites and a co domain for commercial ones.  Other    top-level
  12874. domains may be divided up in similar ways.
  12875.  
  12876.    :Internet Death Penalty:  [Usenet] (often abbreviated IDP) The
  12877. ultimate sanction against {spam}-emitting sites - complete    shunning
  12878. at the router level of all mail and packets, as well as    Usenet
  12879. messages, from the offending domain(s). Compare {Usenet    Death
  12880. Penalty}, with which it is sometimes confused.
  12881.  
  12882.    :Internet Exploiter: n.  Standard name-of-insult for    Internet
  12883. Explorer, Microsoft's overweight Web Browser.  Reflects    widespread
  12884. hostility to Microsoft and a sense that it is seeking to    hijack and
  12885. corrupt the Internet.  Compare {Exploder}    and the less pejorative
  12886. {Netscrape}.
  12887.  
  12888.    :interrupt:  1. [techspeak] n. On a computer, an event    that
  12889. interrupts normal processing and temporarily diverts    flow-of-control
  12890. through an "interrupt handler" routine.  See also    {trap}.  2.
  12891. interj. A request for attention from a hacker.     Often explicitly
  12892. spoken.  "Interrupt -- have you seen Joe    recently?"  See {priority
  12893. interrupt}.  3. Under MS-DOS, nearly    synonymous with `system call',
  12894. because the OS and BIOS routines    are both called using the INT
  12895. instruction (see {{interrupt list}})    and because programmers so
  12896. often have to bypass the OS (going    directly to a BIOS interrupt) to
  12897. get reasonable    performance.
  12898.  
  12899.    :interrupt list:: n.  [MS-DOS] The list of all known    software
  12900. interrupt calls (both documented and undocumented) for IBM    PCs and
  12901. compatibles, maintained and made available for free    redistribution
  12902. by Ralf Brown <<ralf@cs.cmu.edu>>.  As of late    1992, it had grown to
  12903. approximately two megabytes in length.
  12904.  
  12905.    :interrupts locked out: adj.  When someone is ignoring you.     In a
  12906. restaurant, after several fruitless attempts to get the    waitress's
  12907. attention, a hacker might well observe "She must have    interrupts
  12908. locked out".  The synonym `interrupts disabled' is    also common.
  12909. Variations abound; "to have one's interrupt mask bit    set" and
  12910. "interrupts masked out" are also heard.  See also    {spl}.
  12911.  
  12912.    :intro: n.  [{demoscene}] Introductory {screen} of some
  12913. production.  2. A short {demo}, usually showing just one or two
  12914. {screen}s.  3. Small, usually 64k, 40k or 4k {demo}. Sizes are
  12915. generally dictated by {compo} rules.  See also {dentro},    {demo}.
  12916.  
  12917.    :IRC: /I-R-C/ n.  [Internet Relay Chat] A worldwide "party    line"
  12918. network that allows one to converse with others in real    time.  IRC
  12919. is structured as a network of Internet servers, each of    which
  12920. accepts connections from client programs, one per user.  The    IRC
  12921. community and the {Usenet} and {MUD} communities overlap    to some
  12922. extent, including both hackers and regular folks who have    discovered
  12923. the wonders of computer networks.  Some Usenet jargon    has been
  12924. adopted on IRC, as have some conventions such as    {emoticon}s.  There
  12925. is also a vigorous native jargon,    represented in this lexicon by
  12926. entries marked `[IRC]'.  See also    {talk mode}.
  12927.  
  12928.    :iron: n.  Hardware, especially older and larger hardware of
  12929. {mainframe} class with big metal cabinets housing relatively
  12930. low-density electronics (but the term is also used of modern
  12931. supercomputers).  Often in the phrase {big iron}.  Oppose    {silicon}.
  12932. See also {dinosaur}.
  12933.  
  12934.    :Iron Age: n.  In the history of computing, 1961-1971 -- the
  12935. formative era of commercial {mainframe} technology, when
  12936. ferrite-core {dinosaur}s ruled the earth.  The Iron Age began,
  12937. ironically enough, with the delivery of the first minicomputer (the
  12938. PDP-1) and ended with the introduction of the first commercial
  12939. microprocessor (the Intel 4004) in 1971.  See also {Stone Age};
  12940. compare {elder days}.
  12941.  
  12942.    :iron box: n.  [Unix/Internet] A special environment set up to
  12943. trap a {cracker} logging in over remote connections long enough    to
  12944. be traced.  May include a modified {shell} restricting the    cracker's
  12945. movements in unobvious ways, and `bait' files designed    to keep him
  12946. interested and logged on.  See also {back door},    {firewall machine},
  12947. {Venus flytrap}, and Clifford Stoll's    account in "{The Cuckoo's
  12948. Egg}" of how he made and used    one (see the {Bibliography} in
  12949. Appendix C).  Compare {padded    cell}.
  12950.  
  12951.    :ironmonger: n.  [IBM] A hardware specialist (derogatory).
  12952. Compare {sandbender}, {polygon pusher}.
  12953.  
  12954.    :ISO standard cup of tea: n.  [South Africa] A cup of tea    with
  12955. milk and one teaspoon of sugar, where the milk is poured into    the
  12956. cup before the tea.  Variations are ISO 0, with no sugar; ISO    2,
  12957. with two spoons of sugar; and so on.
  12958.  
  12959.    Like many ISO standards, this one has a faintly alien ring in North
  12960.  America, where hackers generally shun the decadent British practice
  12961. of adulterating perfectly good tea with dairy products and    prefer
  12962. instead to add a wedge of lemon, if anything.  If one were    feeling
  12963. extremely silly, one might hypothesize an analogous `ANSI    standard
  12964. cup of tea' and wind up with a political situation    distressingly
  12965. similar to several that arise in much more serious    technical
  12966. contexts.  (Milk and lemon don't mix very well.)
  12967.  
  12968.    :ISP: /I-S-P/  Common abbreviation for Internet Service    Provider,
  12969. a kind of company that barely existed before 1993.  ISPs    sell
  12970. Internet access to the mass market.  While the big nationwide
  12971. commercial BBSs with Internet access (like America Online,
  12972. CompuServe, GEnie, Netcom, etc.) are technically ISPs, the term is
  12973. usually reserved for local or regional small providers (often run    by
  12974. hackers turned entrepreneurs) who resell Internet access cheaply
  12975. without themselves being information providers or selling
  12976. advertising.  Compare {NSP}.
  12977.  
  12978.    :ITS:: /I-T-S/ n.  1. Incompatible Time-sharing System, an
  12979. influential though highly idiosyncratic operating system written for
  12980. PDP-6s and PDP-10s at MIT and long used at the MIT AI Lab.  Much
  12981. AI-hacker jargon derives from ITS folklore, and to have been `an    ITS
  12982. hacker' qualifies one instantly as an old-timer of the most
  12983. venerable sort.  ITS pioneered many important innovations,    including
  12984. transparent file sharing between machines and    terminal-independent
  12985. I/O.  After about 1982, most actual work was    shifted to newer
  12986. machines, with the remaining ITS boxes run    essentially as a hobby
  12987. and service to the hacker community.  The    shutdown of the lab's last
  12988. ITS machine in May 1990 marked the end    of an era and sent old-time
  12989. hackers into mourning nationwide (see    {high moby}).  The Royal
  12990. Institute of Technology in Sweden is    maintaining one `live' ITS site
  12991. at its computer museum (right    next to the only TOPS-10 system still
  12992. on the Internet), so ITS is    still alleged to hold the record for OS
  12993. in longest continuous use    (however, {{WAITS}} is a credible rival
  12994. for this palm).  2. A    mythical image of operating-system perfection
  12995. worshiped by a    bizarre, fervent retro-cult of old-time hackers and
  12996. ex-users (see    {troglodyte}, sense 2).  ITS worshipers manage somehow
  12997. to    continue believing that an OS maintained by assembly-language
  12998. hand-hacking that supported only monocase 6-character filenames in
  12999. one directory per account remains superior to today's state of
  13000. commercial art (their venom against {Unix} is particularly intense).
  13001. See also {holy wars}, {Weenix}.
  13002.  
  13003.    :IWBNI: //  Abbreviation for `It Would Be Nice If'.  Compare
  13004. {WIBNI}.
  13005.  
  13006.    :IYFEG: //  [Usenet] Abbreviation for `Insert Your Favorite
  13007. Ethnic Group'.  Used as a meta-name when telling ethnic jokes on    the
  13008. net to avoid offending anyone.  See {JEDR}.
  13009.  
  13010. = J =
  13011. =====
  13012.  
  13013.    :J. Random: /J rand'm/ n.  [common; generalized from    {J. Random
  13014. Hacker}] Arbitrary; ordinary; any one; any old.     `J. Random' is
  13015. often prefixed to a noun to make a name out of it.     It means roughly
  13016. `some particular' or `any specific one'.     "Would you let J. Random
  13017. Loser marry your daughter?"  The most    common uses are `J. Random
  13018. Hacker', `J. Random Loser', and    `J. Random Nerd' ("Should J. Random
  13019. Loser be allowed to {gun}    down other people?"), but it can be used
  13020. simply as an elaborate    version of {random} in any sense.
  13021.  
  13022.    :J. Random Hacker: /J rand'm hak'r/ n.  [very common] A    mythical
  13023. figure like the Unknown Soldier; the archetypal hacker    nerd.  This
  13024. term is one of the oldest in the jargon, apparently    going back to
  13025. MIT in the 1960s.  See {random}, {Suzie    COBOL}.  This may originally
  13026. have been inspired by `J. Fred    Muggs', a show-biz chimpanzee whose
  13027. name was a household word back    in the early days of {TMRC}, and was
  13028. probably influenced by    `J. Presper Eckert' (one of the co-inventors
  13029. of the electronic    computer).  See also {Fred Foobar}.
  13030.  
  13031.    :jack in: v.  To log on to a machine or connect to a network    or
  13032. {BBS}, esp. for purposes of entering a {virtual reality}    simulation
  13033. such as a {MUD} or {IRC} (leaving is "jacking    out").  This term
  13034. derives from {cyberpunk} SF, in which it was    used for the act of
  13035. plugging an electrode set into neural sockets    in order to interface
  13036. the brain directly to a virtual reality.  It    is primarily used by
  13037. MUD and IRC fans and younger hackers on BBS    systems.
  13038.  
  13039.    :jaggies: /jag'eez/ n.  The `stairstep' effect observable    when an
  13040. edge (esp. a linear edge of very shallow or steep slope)    is rendered
  13041. on a pixel device (as opposed to a vector display).
  13042.  
  13043.    :Java:  An object-oriented language originally developed at    Sun
  13044. by James Gosling (and known by the name "Oak") with the    intention of
  13045. being the successor to {C++} (the project was    however originally
  13046. sold to Sun as an embedded language for use in    set-top boxes).
  13047. After the great Internet explosion of 1993-1994,    Java was hacked
  13048. into a byte-interpreted language and became the focus    of a
  13049. relentless hype campaign by Sun, which touted it as the new    language
  13050. of choice for distributed applications.
  13051.  
  13052.    Java is indeed a stronger and cleaner design than C++ and has been
  13053. embraced by many in the hacker community - but it has been a
  13054. considerable source of frustration to many others, for reasons
  13055. ranging from uneven support on different Web browser platforms,
  13056. performance issues, and some notorious deficiencies of some of the
  13057. standard toolkits (AWT in particular).  {Microsoft}'s determined
  13058. attempts to corrupt the language (which it rightly sees as a threat
  13059. to its OS monopoly) have not helped.  As of 1999, these issues are
  13060. still in the process of being resolved.
  13061.  
  13062.    Despite many attractive features and a good design, it is difficult
  13063.  to find people willing to praise Java who have tried to implement a
  13064. complex, real-world system with it (but to be fair it is early days
  13065. yet, and no other language has ever been forced to spend its
  13066. childhood under the limelight the way Java has).  On the other    hand,
  13067. Java has already been a big {win} in academic circles,    where it has
  13068. taken the place of {Pascal} as the preferred tool    for teaching the
  13069. basics of good programming to the next generation    of hackers.
  13070.  
  13071.    :JCL: /J-C-L/ n.  1. IBM's supremely {rude} Job Control    Language.
  13072. JCL is the script language used to control the execution    of
  13073. programs in IBM's batch systems.  JCL has a very {fascist}    syntax,
  13074. and some versions will, for example, {barf} if two    spaces appear
  13075. where it expects one.  Most programmers confronted    with JCL simply
  13076. copy a working file (or card deck), changing the    file names.
  13077. Someone who actually understands and generates unique    JCL is
  13078. regarded with the mixed respect one gives to someone who    memorizes
  13079. the phone book.  It is reported that hackers at IBM    itself sometimes
  13080. sing "Who's the breeder of the crud that mangles    you and me?  I-B-M,
  13081. J-C-L, M-o-u-s-e" to the tune of the    "Mickey Mouse Club" theme to
  13082. express their opinion of the    beast.  2. A comparative for any very
  13083. {rude} software that a    hacker is expected to use.  "That's as bad as
  13084. JCL."  As with    {COBOL}, JCL is often used as an archetype of
  13085. ugliness even by    those who haven't experienced it.  See also {IBM},
  13086. {fear and    loathing}.
  13087.  
  13088.    A (poorly documented, naturally) shell simulating JCL syntax is
  13089. available at the Retrocomputing Museum `http://www.ccil.org/retro'.
  13090.  
  13091.    :JEDR: // n.  Synonymous with {IYFEG}.  At one time,    people in
  13092. the Usenet newsgroup rec.humor.funny tended to use    `JEDR' instead of
  13093. {IYFEG} or `<ethnic>'; this stemmed from a    public attempt to
  13094. suppress the group once made by a loser with    initials JEDR after he
  13095. was offended by an ethnic joke posted there.     (The practice was
  13096. {retcon}ned by the expanding these initials as    `Joke
  13097. Ethnic/Denomination/Race'.)  After much sound and fury JEDR    faded
  13098. away; this term appears to be doing likewise.  JEDR's only    permanent
  13099. effect on the net.culture was to discredit    `sensitivity' arguments
  13100. for censorship so thoroughly that more    recent attempts to raise them
  13101. have met with immediate and    near-universal rejection.
  13102.  
  13103.    :jello: n.  [Usenet: by analogy with {spam}] A message    that is
  13104. both excessively cross-posted and too frequently posted, as    opposed
  13105. to {spam} (which is merely too frequently posted) or    {velveeta}
  13106. (which is merely excessively cross-posted).  This term is    widely
  13107. recognized but not commonly used; most people refer to both    kinds of
  13108. abuse or their combination as spam.
  13109.  
  13110.    :jiffy: n.  1. The duration of one tick of the system clock on
  13111. your computer (see {tick}).  Often one AC cycle time (1/60 second    in
  13112. the U.S. and Canada, 1/50 most other places), but more recently
  13113. 1/100 sec has become common.  "The swapper runs every 6 jiffies"
  13114. means that the virtual memory management routine is executed once
  13115. for every 6 ticks of the clock, or about ten times a second.     2.
  13116. Confusingly, the term is sometimes also used for a 1-millisecond
  13117. {wall time} interval.  3. Even more confusingly, physicists
  13118. semi-jokingly use `jiffy' to mean the time required for light to
  13119. travel one foot in a vacuum, which turns out to be close to one
  13120. _nanosecond_.  4. Indeterminate time from a few seconds to    forever.
  13121. "I'll do it in a jiffy" means certainly not now and    possibly never.
  13122. This is a bit contrary to the more widespread use    of the word.
  13123. Oppose {nano}. See also {Real Soon Now}.
  13124.  
  13125.    :job security: n.  When some piece of code is written in a
  13126. particularly {obscure} fashion, and no good reason (such as time    or
  13127. space optimization) can be discovered, it is often said that the
  13128. programmer was attempting to increase his job security (i.e., by
  13129. making himself indispensable for maintenance).  This sour joke
  13130. seldom has to be said in full; if two hackers are looking over some
  13131. code together and one points at a section and says "job    security",
  13132. the other one may just nod.
  13133.  
  13134.    :jock: n.  1. A programmer who is characterized by large and
  13135. somewhat brute-force programs.  See {brute force}.  2. When    modified
  13136. by another noun, describes a specialist in some particular    computing
  13137. area.  The compounds `compiler jock' and `systems    jock' seem to be
  13138. the best-established examples.
  13139.  
  13140.    :joe code: /joh' kohd`/ n.  1. Code that is overly    {tense} and
  13141. unmaintainable.  "{Perl} may be a handy program,    but if you look at
  13142. the source, it's complete joe code."  2. Badly    written, possibly
  13143. buggy code.
  13144.  
  13145.    Correspondents wishing to remain anonymous have fingered a
  13146. particular Joe at the Lawrence Berkeley Laboratory and observed    that
  13147. usage has drifted slightly; the original sobriquet `Joe code'    was
  13148. intended in sense 1.
  13149.  
  13150.    1994 update: This term has now generalized to `<name> code', used
  13151. to designate code with distinct characteristics traceable to its
  13152. author. "This section doesn't check for a NULL return from malloc()!
  13153. Oh.  No wonder! It's Ed code!". Used most often with a programmer
  13154. who has left the shop and thus is a convenient scapegoat for
  13155. anything that is wrong with the project.
  13156.  
  13157.    :jolix: /joh'liks/ n.,adj.  386BSD, the freeware port of    the BSD
  13158. Net/2 release to the Intel i386 architecture by Bill Jolitz    and
  13159. friends.  Used to differentiate from BSDI's port based on the    same
  13160. source tape, which used to be called BSD/386 and is now    BSD/OS.  See
  13161. {BSD}.
  13162.  
  13163.    :juggling eggs: vi.  Keeping a lot of {state} in your head    while
  13164. modifying a program.  "Don't bother me now, I'm juggling    eggs",
  13165. means that an interrupt is likely to result in the    program's being
  13166. scrambled.  In the classic first-contact SF novel    "The Mote in God's
  13167. Eye", by Larry Niven and Jerry Pournelle,    an alien describes a very
  13168. difficult task by saying "We juggle    priceless eggs in variable
  13169. gravity."  See also {hack mode}.
  13170.  
  13171.    :jump off into never-never land: v.  [from J. M. Barrie's    "Peter
  13172. Pan"] Same as {branch to Fishkill}, but more common    in technical
  13173. cultures associated with non-IBM computers that use    the term `jump'
  13174. rather than `branch'.  Compare    {hyperspace}.
  13175.  
  13176.    :jupiter: vt.  [IRC] To kill an {IRC} {bot} or user    and then take
  13177. its place by adopting its {nick} so that it cannot    reconnect.  Named
  13178. after a particular IRC user who did this to    NickServ, the robot in
  13179. charge of preventing people from    inadvertently using a nick claimed
  13180. by another user.  Now commonly    shortened to `jupe'.
  13181.  
  13182. = K =
  13183. =====
  13184.  
  13185.    :K: /K/ n.  [from {kilo-}] A kilobyte.  Used both as a    spoken
  13186. word and a written suffix (like {meg} and {gig} for    megabyte and
  13187. gigabyte).  See {{quantifiers}}.
  13188.  
  13189.    :K&R: [Kernighan and Ritchie] n.  Brian Kernighan and Dennis
  13190. Ritchie's book "The C Programming Language", esp. the    classic and
  13191. influential first edition (Prentice-Hall 1978; ISBN    0-13-110163-3).
  13192. Syn.  {White Book}, {Old Testament}.  See    also {New Testament}.
  13193.  
  13194.    :k-: pref.  [rare] Extremely.  Rare among hackers, but    quite
  13195. common among crackers and {warez d00dz} in compounds such    as
  13196. `k-kool' /K'kool'/, `k-rad' /K'rad'/, and    `k-awesome' /K'aw`sm/.
  13197. Also used to intensify negatives; thus,    `k-evil', `k-lame',
  13198. `k-screwed', and `k-annoying'.  Overuse    of this prefix, or use in
  13199. more formal or technical contexts, is    considered an indicator of
  13200. {lamer} status.
  13201.  
  13202.    :kahuna: /k*-hoo'n*/ n.  [IBM: from the Hawaiian title for a
  13203. shaman] Synonym for {wizard}, {guru}.
  13204.  
  13205.    :kamikaze packet: n.  The `official' jargon for what is    more
  13206. commonly called a {Christmas tree packet}. {RFC}-1025,    "TCP and IP
  13207. Bake Off" says:
  13208.  
  13209.      10 points for correctly being able to process a "Kamikaze" packet
  13210.      (AKA nastygram, christmas tree packet, lamp test segment, et al.).
  13211.      That is, correctly handle a segment with the maximum combination
  13212.      of features at once (e.g., a SYN URG PUSH FIN segment with options
  13213.      and data).
  13214.  
  13215. See also {Chernobyl packet}.
  13216.  
  13217.    :kangaroo code: n.  Syn. {spaghetti code}.
  13218.  
  13219.    :ken: /ken/ n.  1. [Unix] Ken Thompson, principal inventor    of
  13220. Unix.  In the early days he used to hand-cut distribution    tapes,
  13221. often with a note that read "Love, ken".  Old-timers still    use his
  13222. first name (sometimes uncapitalized, because it's a login    name and
  13223. mail address) in third-person reference; it is widely    understood (on
  13224. Usenet, in particular) that without a last name    `Ken' refers only to
  13225. Ken Thompson.  Similarly, Dennis without last    name means Dennis
  13226. Ritchie (and he is often known as dmr).  See    also {demigod},
  13227. {{Unix}}.  2. A flaming user.  This was    originated by the Software
  13228. Support group at Symbolics because the    two greatest flamers in the
  13229. user community were both named Ken.
  13230.  
  13231.    :kgbvax: /K-G-B'vaks/ n.  See {kremvax}.
  13232.  
  13233.    :KIBO: /ki:'boh/  1. [acronym] Knowledge In, Bullshit Out.     A
  13234. summary of what happens whenever valid data is passed through an
  13235. organization (or person) that deliberately or accidentally
  13236. disregards or ignores its significance.  Consider, for example,    what
  13237. an advertising campaign can do with a product's actual
  13238. specifications.  Compare {GIGO}; see also {SNAFU principle}.     2.
  13239. James Parry <kibo@world.std.com>, a Usenetter infamous for    various
  13240. surrealist net.pranks and an uncanny, machine-assisted    knack for
  13241. joining any thread in which his nom de guerre is    mentioned.
  13242.  
  13243.    :kiboze: v.  [Usenet] To {grep} the Usenet news for a string,
  13244. especially with the intention of posting a follow-up.  This    activity
  13245. was popularised by Kibo (see {KIBO}, sense 2).
  13246.  
  13247.    :kibozo: /ki:-boh'zoh/ n.  [Usenet] One who    {kiboze}s but is not
  13248. Kibo (see {KIBO}, sense 2).
  13249.  
  13250.    :kick: v.  [IRC] To cause somebody to be removed from a    {IRC}
  13251. channel, an option only available to channel ops.  This is    an
  13252. extreme measure, often used to combat extreme {flamage} or
  13253. {flood}ing, but sometimes used at the chop's whim.  Compare    {gun}.
  13254.  
  13255.    :kill file: n.  [Usenet; very common] (alt. `KILL    file') Per-user
  13256. file(s) used by some {Usenet} reading programs    (originally Larry
  13257. Wall's `rn(1)') to discard summarily    (without presenting for
  13258. reading) articles matching some    particularly uninteresting (or
  13259. unwanted) patterns of subject,    author, or other header lines.  Thus
  13260. to add a person (or subject)    to one's kill file is to arrange for
  13261. that person to be ignored by    one's newsreader in future.  By
  13262. extension, it may be used for a    decision to ignore the person or
  13263. subject in other media.  See also    {plonk}.
  13264.  
  13265.    :killer app:   The application that actually makes a sustaining
  13266. market for a promising but under-utilized technology.  First used    in
  13267. the mid-1980s to describe Lotus 1-2-3 once it became evident    that
  13268. demand for that product had been the major driver of the early
  13269. business market for IBM PCs.  The term was then restrospectively
  13270. applied to VisiCalc, which had played a similar role in the success
  13271. of the Apple II.  After 1994 it became commonplace to describe the
  13272. World Wide Web as the Internet's killer app.  One of the standard
  13273. questions asked about each new personal-computer technology as it
  13274. emerges has become "what's the killer app?"
  13275.  
  13276.    :killer micro: n.  [popularized by Eugene Brooks] A
  13277. microprocessor-based machine that infringes on mini, mainframe, or
  13278. supercomputer performance turf.  Often heard in "No one will    survive
  13279. the attack of the killer micros!", the battle cry of the    downsizers.
  13280. Used esp. of RISC architectures.
  13281.  
  13282.    The popularity of the phrase `attack of the killer micros' is
  13283. doubtless reinforced by the title of the movie "Attack Of The    Killer
  13284. Tomatoes" (one of the {canonical} examples of    so-bad-it's-wonderful
  13285. among hackers).  This has even more    {flavor} now that killer micros
  13286. have gone on the offensive not    just individually (in workstations)
  13287. but in hordes (within massively    parallel computers).
  13288.  
  13289.    [1996 update: Eugene Brooks was right.  Since this term first
  13290. entered the Jargon File in 1990, the minicomputer has effectively
  13291. vanished, the {mainframe} sector is in deep and apparently    terminal
  13292. decline (with IBM but a shadow of its former self), and    even the
  13293. supercomputer business has contracted into a smaller    niche.  It's
  13294. networked killer micros as far as the eye can see.     --ESR]
  13295.  
  13296.    :killer poke: n.  A recipe for inducing hardware damage on a
  13297. machine via insertion of invalid values (see {poke}) into a
  13298. memory-mapped control register; used esp. of various fairly
  13299. well-known tricks on {bitty box}es without hardware memory
  13300. management (such as the IBM PC and Commodore PET) that can overload
  13301. and trash analog electronics in the monitor.  See also {HCF}.
  13302.  
  13303.    :kilo-: pref.  [SI] See {{quantifiers}}.
  13304.  
  13305.    :KIPS: /kips/ n.  [abbreviation, by analogy with {MIPS}    using
  13306. {K}] Thousands (_not_ 1024s) of Instructions Per    Second.  Usage:
  13307. rare.
  13308.  
  13309.    :KISS Principle: /kis' prin'si-pl/ n.  "Keep It Simple,    Stupid".
  13310. A maxim often invoked when discussing design to fend off    {creeping
  13311. featurism} and control development complexity.     Possibly related to
  13312. the {marketroid} maxim on sales    presentations, "Keep It Short and
  13313. Simple".
  13314.  
  13315.    :kit: n.  [Usenet; poss. fr. {DEC} slang for a full    software
  13316. distribution, as opposed to a patch or upgrade] A source    software
  13317. distribution that has been packaged in such a way that it    can
  13318. (theoretically) be unpacked and installed according to a series    of
  13319. steps using only standard Unix tools, and entirely documented by
  13320. some reasonable chain of references from the top-level {README
  13321. file}.  The more general term {distribution} may imply that    special
  13322. tools or more stringent conditions on the host environment    are
  13323. required.
  13324.  
  13325.    :klone: /klohn/ n.  See {clone}, sense 4.
  13326.  
  13327.    :kludge: 1. /klooj/ n.  Incorrect (though regrettably    common)
  13328. spelling of {kluge} (US).  These two words have been    confused in
  13329. American usage since the early 1960s, and widely    confounded in Great
  13330. Britain since the end of World War II.     2. [TMRC] A {crock} that
  13331. works. (A long-ago "Datamation"    article by Jackson Granholme
  13332. similarly said: "An ill-assorted    collection of poorly matching
  13333. parts, forming a distressing    whole.")  3. v. To use a kludge to get
  13334. around a problem.  "I've    kludged around it for now, but I'll fix it
  13335. up properly later."
  13336.  
  13337.    This word appears to have derived from Scots `kludge' or
  13338. `kludgie' for a common toilet, via British military slang.  It
  13339. apparently became confused with U.S. {kluge} during or after    World
  13340. War II; some Britons from that era use both words in    definably
  13341. different ways, but {kluge} is now uncommon in Great    Britain.
  13342. `Kludge' in Commonwealth hackish differs in meaning from    `kluge' in
  13343. that it lacks the positive senses; a kludge is something    no
  13344. Commonwealth hacker wants to be associated too closely with.     Also,
  13345. `kludge' is more widely known in British mainstream slang    than
  13346. `kluge' is in the U.S.
  13347.  
  13348.    :kluge: /klooj/  [from the German `klug', clever; poss.     related
  13349. to Polish `klucza', a trick or hook] 1. n. A Rube    Goldberg (or Heath
  13350. Robinson) device, whether in hardware or    software.  2. n. A clever
  13351. programming trick intended to solve a    particular nasty case in an
  13352. expedient, if not clear, manner.  Often    used to repair bugs.  Often
  13353. involves {ad-hockery} and verges on    being a {crock}.  3. n.
  13354. Something that works for the wrong    reason.  4. vt. To insert a kluge
  13355. into a program.  "I've kluged    this routine to get around that weird
  13356. bug, but there's probably a    better way."  5. [WPI] n. A feature that
  13357. is implemented in a    {rude} manner.
  13358.  
  13359.    Nowadays this term is often encountered in the variant spelling
  13360. `kludge'.  Reports from {old fart}s are consistent that    `kluge' was
  13361. the original spelling, reported around computers as    far back as the
  13362. mid-1950s and, at that time, used exclusively of    _hardware_ kluges.
  13363. In 1947, the "New York Folklore    Quarterly" reported a classic
  13364. shaggy-dog story `Murgatroyd the    Kluge Maker' then current in the
  13365. Armed Forces, in which a `kluge'    was a complex and puzzling artifact
  13366. with a trivial function.  Other    sources report that `kluge' was
  13367. common Navy slang in the WWII era    for any piece of electronics that
  13368. worked well on shore but    consistently failed at sea.
  13369.  
  13370.    However, there is reason to believe this slang use may be a decade
  13371. older.  Several respondents have connected it to the brand name of
  13372. a device called a "Kluge paper feeder", an adjunct to mechanical
  13373. printing presses.  Legend has it that the Kluge feeder was designed
  13374. before small, cheap electric motors and control electronics; it
  13375. relied on a fiendishly complex assortment of cams, belts, and
  13376. linkages to both power and synchronize all its operations from one
  13377. motive driveshaft.  It was accordingly temperamental, subject to
  13378. frequent breakdowns, and devilishly difficult to repair -- but oh,
  13379. so clever!  People who tell this story also aver that `Kluge' was
  13380. the name of a design engineer.
  13381.  
  13382.    There is in fact a Brandtjen & Kluge Inc., an old family business
  13383. that manufactures printing equipment - interestingly, their name    is
  13384. pronounced /kloo'gee/!  Henry Brandtjen, president of the    firm, told
  13385. me (ESR, 1994) that his company was co-founded by his    father and an
  13386. engineer named Kluge /kloo'gee/, who built and    co-designed the
  13387. original Kluge automatic feeder in 1919.     Mr. Brandtjen claims,
  13388. however, that this was a _simple_ device    (with only four cams); he
  13389. says he has no idea how the myth of its    complexity took hold.
  13390.  
  13391.    {TMRC} and the MIT hacker culture of the early '60s seems to    have
  13392. developed in a milieu that remembered and still used some WWII
  13393. military slang (see also {foobar}).  It seems likely that    `kluge'
  13394. came to MIT via alumni of the many military electronics    projects
  13395. that had been located in Cambridge (many in MIT's    venerable Building
  13396. 20, in which {TMRC} is also located) during    the war.
  13397.  
  13398.    The variant `kludge' was apparently popularized by the
  13399. {Datamation} article mentioned above; it was titled "How    to Design a
  13400. Kludge" (February 1962, pp. 30, 31).  This spelling was    probably
  13401. imported from Great Britain, where {kludge} has an    independent
  13402. history (though this fact was largely unknown to    hackers on either
  13403. side of the Atlantic before a mid-1993 debate in    the Usenet group
  13404. alt.folklore.computers over the First and    Second Edition versions of
  13405. this entry; everybody used to think    {kludge} was just a mutation of
  13406. {kluge}).  It now appears that    the British, having forgotten the
  13407. etymology of their own `kludge'    when `kluge' crossed the Atlantic,
  13408. repaid the U.S. by lobbing the    `kludge' orthography in the other
  13409. direction and confusing their    American cousins' spelling!
  13410.  
  13411.    The result of this history is a tangle.  Many younger U.S. hackers
  13412. pronounce the word as /klooj/ but spell it, incorrectly for its
  13413. meaning and pronunciation, as `kludge'. (Phonetically, consider
  13414. huge, refuge, centrifuge, and deluge as opposed to sludge, judge,
  13415. budge, and fudge.  Whatever its failings in other areas, English
  13416. spelling is perfectly consistent about this distinction.)  British
  13417. hackers mostly learned /kluhj/ orally, use it in a restricted
  13418. negative sense and are at least consistent.  European hackers have
  13419. mostly learned the word from written American sources and tend to
  13420. pronounce it /kluhj/ but use the wider American meaning!
  13421.  
  13422.    Some observers consider this mess appropriate in view of the word's
  13423.  meaning.
  13424.  
  13425.    :kluge around: vt.  To avoid a bug or difficult condition by
  13426. inserting a {kluge}.  Compare {workaround}.
  13427.  
  13428.    :kluge up: vt.  To lash together a quick hack to perform a    task;
  13429. this is milder than {cruft together} and has some of the
  13430. connotations of {hack up} (note, however, that the construction
  13431. `kluge on' corresponding to {hack on} is never used).  "I've    kluged
  13432. up this routine to dump the buffer contents to a safe    place."
  13433.  
  13434.    :Knights of the Lambda Calculus: n.  A semi-mythical    organization
  13435. of wizardly LISP and Scheme hackers.  The name refers    to a
  13436. mathematical formalism invented by Alonzo Church, with which    LISP is
  13437. intimately connected.  There is no enrollment list and the    criteria
  13438. for induction are unclear, but one well-known LISPer has    been known
  13439. to give out buttons and, in general, the _members_    know who they
  13440. are....
  13441.  
  13442.    :knobs: pl.n.  Configurable options, even in software and    even
  13443. those you can't adjust in real time.  Anything you can    {twiddle} is
  13444. a knob.  "Has this PNG viewer got an alpha knob?"     Software may be
  13445. described as having "knobs and switches" or    occasionally "knobs and
  13446. lights".
  13447.  
  13448.    :Knuth: /knooth'/ n.  [Donald E. Knuth's "The Art of    Computer
  13449. Programming"] Mythically, the reference that answers all    questions
  13450. about data structures or algorithms.  A safe answer when    you do not
  13451. know: "I think you can find that in Knuth."  Contrast    {the
  13452. literature}.  See also {bible}.  There is a Donald    Knuth home page at
  13453.   `http://www-cs-faculty.Stanford.EDU/~knuth'.
  13454.  
  13455.    :koan: /koh'an/ n.  A Zen teaching riddle.  Classically,    koans
  13456. are attractive paradoxes to be meditated on; their purpose is    to
  13457. help one to enlightenment by temporarily jamming normal    cognitive
  13458. processing so that something more interesting can happen    (this
  13459. practice is associated with Rinzei Zen Buddhism).  Hackers are    very
  13460. fond of the koan form and compose their own koans for    humororous
  13461. and/or enlightening effect.  See {Some AI Koans},    {has the X
  13462. nature}, {hacker humor}.
  13463.  
  13464.    :kremvax: /krem-vaks/ n.  [from the then large number of    {Usenet}
  13465. {VAXen} with names of the form foovax]    Originally, a fictitious
  13466. Usenet site at the Kremlin, announced on    April 1, 1984 in a posting
  13467. ostensibly originated there by Soviet    leader Konstantin Chernenko.
  13468. The posting was actually forged by    Piet Beertema as an April Fool's
  13469. joke.  Other fictitious sites    mentioned in the hoax were moskvax and
  13470. {kgbvax}.  This was    probably the funniest of the many April Fool's
  13471. forgeries    perpetrated on Usenet (which has negligible security
  13472. against them),    because the notion that Usenet might ever penetrate
  13473. the Iron    Curtain seemed so totally absurd at the time.
  13474.  
  13475.    In fact, it was only six years later that the first genuine site in
  13476.  Moscow, demos.su, joined Usenet.  Some readers needed    convincing
  13477. that the postings from it weren't just another prank.     Vadim
  13478. Antonov, senior programmer at Demos and the major poster from    there
  13479. up to mid-1991, was quite aware of all this, referred to it
  13480. frequently in his own postings, and at one point twitted some
  13481. credulous readers by blandly asserting that he _was_ a    hoax!
  13482.  
  13483.    Eventually he even arranged to have the domain's gateway site
  13484. named kremvax, thus neatly turning fiction into fact    and
  13485. demonstrating that the hackish sense of humor transcends    cultural
  13486. barriers.  [Mr. Antonov also contributed the    Russian-language
  13487. material for this lexicon. --ESR]
  13488.  
  13489.    In an even more ironic historical footnote, kremvax became an
  13490. electronic center of the anti-communist resistance during the
  13491. bungled hard-line coup of August 1991.  During those three days the
  13492. Soviet UUCP network centered on kremvax became the only    trustworthy
  13493. news source for many places within the USSR.  Though    the sysops were
  13494. concentrating on internal communications,    cross-border postings
  13495. included immediate transliterations of Boris    Yeltsin's decrees
  13496. condemning the coup and eyewitness reports of the    demonstrations in
  13497. Moscow's streets.  In those hours, years of    speculation that
  13498. totalitarianism would prove unable to maintain its    grip on
  13499. politically-loaded information in the age of computer    networking
  13500. were proved devastatingly accurate -- and the original    kremvax joke
  13501. became a reality as Yeltsin and the new Russian    revolutionaries of
  13502. `glasnost' and `perestroika' made    kremvax one of the timeliest means
  13503. of their outreach to the    West.
  13504.  
  13505.    :kyrka: /shir'k*/ n.  [Swedish] See {feature key}.
  13506.  
  13507. = L =
  13508. =====
  13509.  
  13510.    :lace card: n. obs.  A {{punched card}} with all holes    punched
  13511. (also called a `whoopee card' or `ventilator card').     Card readers
  13512. tended to jam when they got to one of these, as the    resulting card
  13513. had too little structural strength to avoid buckling    inside the
  13514. mechanism.  Card punches could also jam trying to    produce these
  13515. things owing to power-supply problems.  When some    practical joker
  13516. fed a lace card through the reader, you needed to    clear the jam with
  13517. a `card knife' -- which you used on the joker    first.
  13518.  
  13519.    :lag: n.  [MUD, IRC; very common] When used without    qualification
  13520. this is synomous with {netlag}.  Curiously, people    will often
  13521. complain "I'm really lagged" when in fact it is their    server or
  13522. network connection that is lagging.
  13523.  
  13524.    :lamer: n.   [prob. originated in skateboarder slang]    1. Synonym
  13525. for {luser}, not used much by hackers but common    among {warez
  13526. d00dz}, crackers, and {phreaker}s.  A person who    downloads much, but
  13527. who never uploads. (Also known as `leecher').     Oppose {elite}.  Has
  13528. the same connotations of self-conscious    elitism that use of {luser}
  13529. does among hackers.  2. Someone who    tries to crack a BBS.  3.
  13530. Someone who annoys the sysop or other BBS    users - for instance, by
  13531. posting lots of silly messages, uploading    virus-ridden software,
  13532. frequently dropping carrier, etc.
  13533.  
  13534.    Crackers also use it to refer to cracker {wannabee}s. In phreak
  13535. culture, a lamer is one who scams codes off others rather than    doing
  13536. cracks or really understanding the fundamental concepts.  In    {warez
  13537. d00dz} culture, where the ability to wave around cracked    commercial
  13538. software within days of (or before) release to the    commercial market
  13539. is much esteemed, the lamer might try to upload    garbage or shareware
  13540. or something incredibly old (old in this    context is read as a few
  13541. years to anything older than 3    days).
  13542.  
  13543.    `Lamer' is also much used in the IRC world in a similar sense to
  13544. the above.
  13545.  
  13546.    :language lawyer: n.  A person, usually an experienced or    senior
  13547. software engineer, who is intimately familiar with many or    most of
  13548. the numerous restrictions and features (both useful and    esoteric)
  13549. applicable to one or more computer programming languages.     A
  13550. language lawyer is distinguished by the ability to show you the    five
  13551. sentences scattered through a 200-plus-page manual that    together
  13552. imply the answer to your question "if only you had    thought to look
  13553. there".  Compare {wizard}, {legal},    {legalese}.
  13554.  
  13555.    :languages of choice: n.  {C}, {C++}, {LISP}, and    {Perl}.  Nearly
  13556. every hacker knows one of C or LISP, and most    good ones are fluent
  13557. in both.  C++, despite some serious drawbacks,    is generally
  13558. preferred to other object-oriented languages (though    in 1999 it
  13559. looks as though Java has displaced it in the affections    of hackers,
  13560. if not everywhere).  Since around 1990 Perl has rapidly    been gaining
  13561. favor, especially as a tool for systems-administration    utilities and
  13562. rapid prototyping.  Python, Smalltalk and Prolog are    also popular in
  13563. small but influential communities.
  13564.  
  13565.    There is also a rapidly dwindling category of older hackers with
  13566. FORTRAN, or even assembler, as their language of choice.  They    often
  13567. prefer to be known as {Real Programmer}s, and other    hackers consider
  13568. them a bit odd (see "{The Story of    Mel}" in Appendix A).  Assembler
  13569. is generally no longer considered    interesting or appropriate for
  13570. anything but {HLL}    implementation, {glue}, and a few time-critical
  13571. and    hardware-specific uses in systems programs.  FORTRAN occupies a
  13572.  shrinking niche in scientific programming.
  13573.  
  13574.    Most hackers tend to frown on languages like {{Pascal}} and
  13575. {{Ada}}, which don't give them the near-total freedom considered
  13576. necessary for hacking (see {bondage-and-discipline language}),    and
  13577. to regard everything even remotely connected with {COBOL} or    other
  13578. traditional {card walloper} languages as a total and    unmitigated
  13579. {loss}.
  13580.  
  13581.    :LART: //  Luser Attitude Readjustment Tool.  1. n. In    the
  13582. collective mythos of {scary devil monastery}, this is an    essential
  13583. item in the toolkit of every {BOFH}.  The LART classic    is a 2x4 or
  13584. other large billet of wood usable as a club, to be    applied upside
  13585. the head of spammers and other people who cause    sysadmins more grief
  13586. than just naturally goes with the    job. Perennial debates rage on
  13587. alt.sysadmin.recovery over    what constitutes the truly effective
  13588. LART; knobkerries,    semiautomatic weapons, flamethrowers, and
  13589. tactical nukes all have    their partisans.  Compare {clue-by-four}. 2.
  13590. v. To use a    LART.  Some would add "in malice", but some sysadmins do
  13591. prefer    to gently lart their users as a first (and sometimes final)
  13592. warning.  3. interj. Calling for one's LART, much as a surgeon
  13593. might call "Scalpel!". 4. interj.  [rare] Used in {flame}s as    a
  13594. rebuke. "LART! LART! LART!"
  13595.  
  13596.    :larval stage: n.  Describes a period of monomaniacal
  13597. concentration on coding apparently passed through by all fledgling
  13598. hackers.  Common symptoms include the perpetration of more than one
  13599. 36-hour {hacking run} in a given week; neglect of all other
  13600. activities including usual basics like food, sleep, and personal
  13601. hygiene; and a chronic case of advanced bleary-eye.  Can last from    6
  13602. months to 2 years, the apparent median being around 18 months.  A
  13603. few so afflicted never resume a more `normal' life, but the    ordeal
  13604. seems to be necessary to produce really wizardly (as opposed    to
  13605. merely competent) programmers.  See also {wannabee}.  A less
  13606. protracted and intense version of larval stage (typically lasting
  13607. about a month) may recur when one is learning a new {OS} or
  13608. programming language.
  13609.  
  13610.    :lase: /layz/ vt.  To print a given document via a laser    printer.
  13611. "OK, let's lase that sucker and see if all those    graphics-macro
  13612. calls did the right things."
  13613.  
  13614.    :laser chicken: n.  Kung Pao Chicken, a standard Chinese dish
  13615. containing chicken, peanuts, and hot red peppers in a spicy
  13616. pepper-oil sauce.  Many hackers call it `laser chicken' for two
  13617. reasons: It can {zap} you just like a laser, and the sauce has a    red
  13618. color reminiscent of some laser beams.  The dish has also been
  13619. called `gunpowder chicken'.
  13620.  
  13621.    In a variation on this theme, it is reported that some Australian
  13622. hackers have redesignated the common dish `lemon chicken' as
  13623. `Chernobyl Chicken'.  The name is derived from the color of the
  13624. sauce, which is considered bright enough to glow in the dark (as,
  13625. mythically, do some of the inhabitants of Chernobyl).
  13626.  
  13627.    :lasherism: n.  [Harvard] A program that solves a standard
  13628. problem (such as the Eight Queens puzzle or implementing the    {life}
  13629. algorithm) in a deliberately nonstandard way.     Distinguished from a
  13630. {crock} or {kluge} by the fact that the    programmer did it on purpose
  13631. as a mental exercise.  Such    constructions are quite popular in
  13632. exercises such as the    {Obfuscated C Contest}, and occasionally in
  13633. {retrocomputing}.     Lew Lasher was a student at Harvard around 1980
  13634. who became    notorious for such behavior.
  13635.  
  13636.    :laundromat: n.  Syn. {disk farm}; see {washing    machine}.
  13637.  
  13638.    :LDB: /l*'d*b/ vt.  [from the PDP-10 instruction set] To    extract
  13639. from the middle.  "LDB me a slice of cake, please."  This    usage has
  13640. been kept alive by Common LISP's function of the same    name.
  13641. Considered silly.  See also {DPB}.
  13642.  
  13643.    :leaf site: n.,obs.  Before pervasive TCP/IP, this term    was used
  13644. of a machine that merely originated and read Usenet news    or mail,
  13645. and did not relay any third-party traffic.  It was often    uttered in
  13646. a critical tone; when the ratio of leaf sites to    backbone, rib, and
  13647. other relay sites got too high, the network    tended to develop
  13648. bottlenecks.  Compare {backbone site}, {rib    site}.  Now that traffic
  13649. patterns depend more on the distribution    of routers than of host
  13650. machines this term has largely fallen out    of use.
  13651.  
  13652.    :leak: n.  With qualifier, one of a class of    resource-management
  13653. bugs that occur when resources are not freed    properly after
  13654. operations on them are finished, so they effectively    disappear (leak
  13655. out).  This leads to eventual exhaustion as new    allocation requests
  13656. come in.  {memory leak} and {fd leak}    have their own entries; one
  13657. might also refer, to, say, a `window    handle leak' in a window system.
  13658.  
  13659.    :leaky heap: n.  [Cambridge] An {arena} with a {memory    leak}.
  13660.  
  13661.    :leapfrog attack: n.  Use of userid and password information
  13662. obtained illicitly from one host (e.g., downloading a file of
  13663. account IDs and passwords, tapping TELNET, etc.) to compromise
  13664. another host.  Also, the act of TELNETting through one or more    hosts
  13665. in order to confuse a trace (a standard cracker procedure).
  13666.  
  13667.    :leech: n.  Among BBS types, crackers and {warez d00dz},    one who
  13668. consumes knowledge without generating new software, cracks,    or
  13669. techniques.  BBS culture specifically defines a leech as someone    who
  13670. downloads files with few or no uploads in return, and who does    not
  13671. contribute to the message section.  Cracker culture extends    this
  13672. definition to someone (a {lamer}, usually) who constantly    presses
  13673. informed sources for information and/or assistance, but has    nothing
  13674. to contribute.
  13675.  
  13676.    :legal: adj.  Loosely used to mean `in accordance with all the
  13677. relevant rules', esp. in connection with some set of constraints
  13678. defined by software.  "The older =+ alternate for += is no longer
  13679. legal syntax in ANSI C."  "This parser processes each line of    legal
  13680. input the moment it sees the trailing linefeed."  Hackers    often
  13681. model their work as a sort of game played with the    environment in
  13682. which the objective is to maneuver through the    thicket of `natural
  13683. laws' to achieve a desired objective.  Their    use of `legal' is
  13684. flavored as much by this game-playing sense as    by the more
  13685. conventional one having to do with courts and lawyers.     Compare
  13686. {language lawyer}, {legalese}.
  13687.  
  13688.    :legalese: n.  Dense, pedantic verbiage in a language
  13689. description, product specification, or interface standard; text    that
  13690. seems designed to obfuscate and requires a {language    lawyer} to
  13691. {parse} it.  Though hackers are not afraid of high    information
  13692. density and complexity in language (indeed, they rather    enjoy both),
  13693. they share a deep and abiding loathing for legalese;    they associate
  13694. it with deception, {suit}s, and situations in    which hackers
  13695. generally get the short end of the stick.
  13696.  
  13697.    :LER: /L-E-R/  n. 1. [TMRC, from `Light-Emitting Diode']    A
  13698. light-emitting resistor (that is, one in the process of burning    up).
  13699. Ohm's law was broken.  See also {SED}. 2. An incandescent    light
  13700. bulb (the filament emits light because it's resistively    heated).
  13701.  
  13702.    :LERP: /lerp/ vi.,n.  Quasi-acronym for Linear    Interpolation,
  13703. used as a verb or noun for the    operation. "Bresenham's algorithm
  13704. lerps incrementally between the    two endpoints of the line."
  13705.  
  13706.    :let the smoke out: v.  To fry hardware (see {fried}).  See
  13707. {magic smoke} for a discussion of the underlying mythology.
  13708.  
  13709.    :letterbomb:  1. n. A piece of {email} containing    {live data}
  13710. intended to do nefarious things to the recipient's    machine or
  13711. terminal.  It used to be possible, for example, to send    letterbombs
  13712. that would lock up some specific kinds of terminals when    they are
  13713. viewed, so thoroughly that the user must cycle power (see    {cycle},
  13714. sense 3) to unwedge them.  Under Unix, a letterbomb can    also try to
  13715. get part of its contents interpreted as a shell command    to the
  13716. mailer.  The results of this could range from silly to    tragic;
  13717. fortunately it has been some years since any of the standard
  13718. Unix/Internet mail software was vulnerable to such an attack
  13719. (though, as the Melissa virus attack demonstrated in early 1999,
  13720. Microsoft systems can have serious problems).  See also    {Trojan
  13721. horse}; compare {nastygram}.  2. Loosely, a    {mailbomb}.
  13722.  
  13723.    :lexer: /lek'sr/ n.  Common hacker shorthand for `lexical
  13724. analyzer', the input-tokenizing stage in the parser for a language
  13725. (the part that breaks it into word-like pieces).  "Some C lexers    get
  13726. confused by the old-style compound ops like `=-'."
  13727.  
  13728.    :lexiphage: /lek'si-fayj`/ n.  A notorious word {chomper}    on ITS.
  13729. See {bagbiter}.  This program would draw on a selected    victim's
  13730. bitmapped terminal the words "THE BAG" in ornate    letters, followed a
  13731. pair of jaws biting pieces of it off.
  13732.  
  13733.    :life: n.  1. A cellular-automata game invented by John Horton
  13734. Conway and first introduced publicly by Martin Gardner    ("Scientific
  13735. American", October 1970); the game's popularity    had to wait a few
  13736. years for computers on which it could reasonably    be played, as it's
  13737. no fun to simulate the cells by hand.  Many    hackers pass through a
  13738. stage of fascination with it, and hackers at    various places
  13739. contributed heavily to the mathematical analysis of    this game (most
  13740. notably Bill Gosper at MIT, who even implemented    life in {TECO}!;
  13741. see {Gosperism}).  When a hacker mentions    `life', he is much more
  13742. likely to mean this game than the    magazine, the breakfast cereal, or
  13743. the human state of existence.     2. The opposite of {Usenet}.  As in
  13744. "{Get a life!}"
  13745.  
  13746.    :Life is hard: prov.  [XEROX PARC] This phrase has two    possible
  13747. interpretations: (1) "While your suggestion may have some    merit, I
  13748. will behave as though I hadn't heard it."  (2) "While    your
  13749. suggestion has obvious merit, equally obvious circumstances    prevent
  13750. it from being seriously considered."  The charm of the    phrase lies
  13751. precisely in this subtle but important ambiguity.
  13752.  
  13753.    :light pipe: n.  Fiber optic cable.  Oppose {copper}.
  13754.  
  13755.    :lightweight: adj.  Opposite of {heavyweight}; usually    found in
  13756. combining forms such as `lightweight process'.
  13757.  
  13758.    :like kicking dead whales down the beach: adj.  Describes a    slow,
  13759. difficult, and disgusting process.  First popularized by a    famous
  13760. quote about the difficulty of getting work done under one of    IBM's
  13761. mainframe OSes.  "Well, you _could_ write a C compiler    in COBOL, but
  13762. it would be like kicking dead whales down the    beach."  See also
  13763. {fear and loathing}.
  13764.  
  13765.    :like nailing jelly to a tree: adj.  Used to describe a task
  13766. thought to be impossible, esp. one in which the difficulty arises
  13767. from poor specification or inherent slipperiness in the problem
  13768. domain.  "Trying to display the `prettiest' arrangement of    nodes and
  13769. arcs that diagrams a given graph is like nailing jelly to    a tree,
  13770. because nobody's sure what `prettiest' means    algorithmically."
  13771.  
  13772.    Hacker use of this term may recall mainstream slang    originated
  13773. early in the 20th century by President Theodore    Roosevelt.  There is
  13774. a legend that, weary of inconclusive talks    with Colombia over the
  13775. right to dig a canal through its    then-province Panama, he remarked,
  13776. "Negotiating with those pirates    is like trying to nail currant jelly
  13777. to the wall."  Roosevelt's    government subsequently encouraged the
  13778. anti-Colombian insurgency    that created the nation of Panama.
  13779.  
  13780.    :line 666: [from Christian eschatological myth] n.  The    notional
  13781. line of source at which a program fails for obscure    reasons,
  13782. implying either that _somebody_ is out to get it    (when you are the
  13783. programmer), or that it richly deserves to be so    gotten (when you
  13784. are not).  "It works when I trace through it, but    seems to crash on
  13785. line 666 when I run it."  "What happens is that    whenever a large
  13786. batch comes through, mmdf dies on the Line of the    Beast.  Probably
  13787. some twit hardcoded a buffer size."
  13788.  
  13789.    :line eater, the: n. obs.  [Usenet] 1. A bug in some    now-obsolete
  13790. versions of the netnews software that used to eat up    to BUFSIZ bytes
  13791. of the article text.  The bug was triggered by    having the text of
  13792. the article start with a space or tab.  This bug    was quickly
  13793. personified as a mythical creature called the `line    eater', and
  13794. postings often included a dummy line of `line eater    food'.
  13795. Ironically, line eater `food' not beginning with a space    or tab
  13796. wasn't actually eaten, since the bug was avoided; but if    there _was_
  13797. a space or tab before it, then the line eater    would eat the food
  13798. _and_ the beginning of the text it was    supposed to be protecting.
  13799. The practice of `sacrificing to the    line eater' continued for some
  13800. time after the bug had been    {nailed to the wall}, and is still
  13801. humorously referred to.  The    bug itself was still occasionally
  13802. reported to be lurking in some    mail-to-netnews gateways as late as
  13803. 1991.  2. See {NSA line    eater}.
  13804.  
  13805.    :line noise: n.  1. [techspeak] Spurious characters due to
  13806. electrical noise in a communications link, especially an RS-232
  13807. serial connection.  Line noise may be induced by poor connections,
  13808. interference or crosstalk from other circuits, electrical storms,
  13809. {cosmic rays}, or (notionally) birds crapping on the phone    wires.
  13810. 2. Any chunk of data in a file or elsewhere that looks like    the
  13811. results of line noise in sense 1.  3. Text that is    theoretically a
  13812. readable text or program source but employs syntax    so bizarre that
  13813. it looks like line noise in senses 1 or 2.  Yes,    there are languages
  13814. this ugly.  The canonical example is {TECO};    it is often claimed
  13815. that "TECO's input syntax is indistinguishable    from line noise."
  13816. Other non-{WYSIWYG} editors, such as Multics    `qed' and Unix `ed', in
  13817. the hands of a real hacker, also    qualify easily, as do deliberately
  13818. obfuscated languages such as    {INTERCAL}.
  13819.  
  13820.    :line starve:  [MIT] 1. vi. To feed paper through a printer    the
  13821. wrong way by one line (most printers can't do this).  On a    display
  13822. terminal, to move the cursor up to the previous line of the    screen.
  13823. "To print `X squared', you just output `X', line starve,    `2', line
  13824. feed."  (The line starve causes the `2' to appear on the    line above
  13825. the `X', and the line feed gets back to the original    line.)  2. n. A
  13826. character (or character sequence) that causes a    terminal to perform
  13827. this action.  ASCII 0011010, also called SUB or    control-Z, was one
  13828. common line-starve character in the days before    microcomputers and
  13829. the X3.64 terminal standard.  Unlike `line    feed', `line starve' is
  13830. _not_ standard {{ASCII}}    terminology.  Even among hackers it is
  13831. considered a bit silly.     3. [proposed] A sequence such as \c (used
  13832. in System V echo, as well    as {{nroff}} and {{troff}}) that
  13833. suppresses a {newline} or    other character(s) that would normally be
  13834. emitted.
  13835.  
  13836.    :linearithmic: adj.  Of an algorithm, having running time that    is
  13837. O(N log N).  Coined as a portmanteau of `linear' and    `logarithmic'
  13838. in "Algorithms In C" by Robert Sedgewick    (Addison-Wesley 1990, ISBN
  13839. 0-201-51425-7).
  13840.  
  13841.    :link farm: n.  [Unix] A directory tree that contains many    links
  13842. to files in a master directory tree of files.  Link farms    save space
  13843. when one is maintaining several nearly identical copies    of the same
  13844. source tree -- for example, when the only difference    is
  13845. architecture-dependent object files.  "Let's freeze the source    and
  13846. then rebuild the FROBOZZ-3 and FROBOZZ-4 link farms."  Link    farms
  13847. may also be used to get around restrictions on the number of    `-I'
  13848. (include-file directory) arguments on older C    preprocessors.
  13849. However, they can also get completely out of hand,    becoming the
  13850. filesystem equivalent of {spaghetti code}.
  13851.  
  13852.    :link rot: n.  The natural decay of web links as the sites   they're
  13853. connected to change or die.  Compare {bit rot}.
  13854.  
  13855.    :link-dead: adj.  [MUD] The state a player is in when they    kill
  13856. their connection to a {MUD} without leaving it    properly. The player
  13857. is then commonly left as a statue in the game,    and is only removed
  13858. after a certain period of time (an hour on most    MUDs). Used on {IRC}
  13859. as well, although it is inappropriate in    that context. Compare
  13860. {netdead}.
  13861.  
  13862.    :lint:  [from Unix's `lint(1)', named for the bits of    fluff it
  13863. supposedly picks from programs] 1. vt. To examine a    program closely
  13864. for style, language usage, and portability    problems, esp. if in C,
  13865. esp. if via use of automated analysis    tools, most esp. if the Unix
  13866. utility `lint(1)' is used.     This term used to be restricted to use
  13867. of `lint(1)' itself,    but (judging by references on Usenet) it has
  13868. become a shorthand for    {desk check} at some non-Unix shops, even in
  13869. languages other    than C.  Also as v. {delint}.  2. n. Excess verbiage
  13870. in a    document, as in "This draft has too much lint".
  13871.  
  13872.    :Lintel: n.  The emerging {Linux}/Intel alliance.  This term
  13873. began to be used in early 1999 after it became clear that the
  13874. {Wintel} alliance was under increasing strain and Intel started
  13875. taking stakes in Linux companies.
  13876.  
  13877.    :Linus: /leen'us'/ or /lin'us'/, not /li:'nus/  Linus    Torvalds,
  13878. the author of {Linux}.  Nobody in the hacker culture    has been as
  13879. readily recognized by first name alone since Ken    (Thompson).
  13880.  
  13881.    :Linux:: /lee'nuhks/ or /li'nuks/, _not_ /li:'nuhks/    n.  The free
  13882. Unix workalike created by Linus Torvalds and    friends starting about
  13883. 1991 (the pronunciation /lee'nuhks/ is    preferred because the name
  13884. `Linus' has an /ee/ sound in Swedish).     This may be the most
  13885. remarkable hacker project in history -- an    entire clone of Unix for
  13886. 386, 486 and Pentium micros, distributed    for free with sources over
  13887. the net (ports to Alpha and Sparc and    many other machines are also
  13888. in use).
  13889.  
  13890.    Linux is what {GNU} aimed to be, and it relies on the GNU toolset.
  13891.  But the Free Software Foundation didn't produce the kernel to go with
  13892.   that toolset until 1999, which was too late.  Other, similar efforts
  13893.   like FreeBSD and NetBSD have been technically successful but never
  13894. caught fire the way Linux has; as this is written in 1999, Linux is
  13895. seriously challenging Microsoft's OS dominance.
  13896.  
  13897.    An earlier version of this entry opined "The secret of Linux's
  13898. success seems to be that Linus worked much harder early on to keep
  13899. the development process open and recruit other hackers, creating a
  13900. snowball effect."  Truer than we knew.  See {bazaar}.
  13901.  
  13902.    (A few people object that the name `Linux' should be used to
  13903. refer only to the kernel, not the entire operating system.  This is
  13904. at best pedantry and at worst axe-grinding; the agenda behind it is
  13905. usually to claim that the {FSF} should get most of the credit    for
  13906. Linux because RMS and friends wrote many of its user-level    tools.)
  13907.  
  13908.    :lion food: n.  [IBM] Middle management or HQ staff (or, by
  13909. extension, administrative drones in general).  From an old joke
  13910. about two lions who, escaping from the zoo, split up to increase
  13911. their chances but agree to meet after 2 months.  When they finally
  13912. meet, one is skinny and the other overweight.  The thin one says:
  13913. "How did you manage?  I ate a human just once and they turned out    a
  13914. small army to chase me -- guns, nets, it was terrible.  Since    then
  13915. I've been reduced to eating mice, insects, even grass."  The    fat one
  13916. replies: "Well, _I_ hid near an IBM office and ate a    manager a day.
  13917. And nobody even noticed!"
  13918.  
  13919.    :Lions Book: n.  "Source Code and Commentary on Unix    level 6", by
  13920. John Lions.  The two parts of this book contained (1)    the entire
  13921. source listing of the Unix Version 6 kernel, and (2) a    commentary on
  13922. the source discussing the algorithms.  These were    circulated
  13923. internally at the University of New South Wales    beginning 1976-77,
  13924. and were, for years after, the _only_    detailed kernel documentation
  13925. available to anyone outside Bell    Labs.  Because Western Electric
  13926. wished to maintain trade secret    status on the kernel, the Lions Book
  13927. was only supposed to be    distributed to affiliates of source
  13928. licensees.  In spite of this,    it soon spread by samizdat to a good
  13929. many of the early Unix    hackers.
  13930.  
  13931.    [1996 update: The Lions book lives again! It was put back in print
  13932. as ISBN 1-57398-013-7 from Peer-To-Peer Communications, with
  13933. forewords by Dennis Ritchie and Ken Thompson. In a neat bit of
  13934. reflexivity, the page before the contents quotes this entry.]
  13935.  
  13936.    :LISP: n.  [from `LISt Processing language', but mythically    from
  13937. `Lots of Irritating Superfluous Parentheses'] AI's mother    tongue, a
  13938. language based on the ideas of (a) variable-length lists    and trees
  13939. as fundamental data types, and (b) the interpretation of    code as
  13940. data and vice-versa.  Invented by John McCarthy at MIT in    the late
  13941. 1950s, it is actually older than any other {HLL} still    in use except
  13942. FORTRAN.  Accordingly, it has undergone considerable    adaptive
  13943. radiation over the years; modern variants are quite    different in
  13944. detail from the original LISP 1.5.  The dominant HLL    among hackers
  13945. until the early 1980s, LISP now shares the throne    with {C}.  Its
  13946. partisans claim it is the only language that is    truly beautiful.
  13947. See {languages of choice}.
  13948.  
  13949.    All LISP functions and programs are expressions that return
  13950. values; this, together with the high memory utilization of LISPs,
  13951. gave rise to Alan Perlis's famous quip (itself a take on an Oscar
  13952. Wilde quote) that "LISP programmers know the value of everything    and
  13953. the cost of nothing".
  13954.  
  13955.    One significant application for LISP has been as a proof by example
  13956.  that most newer languages, such as {COBOL} and {Ada}, are full    of
  13957. unnecessary {crock}s.  When the {Right Thing} has already    been done
  13958. once, there is no justification for {bogosity} in newer    languages.
  13959.  
  13960.    :list-bomb: v.  To {mailbomb} someone by forging    messages causing
  13961. the victim to become a subscriber to many mailing    lists.  This is a
  13962. self-defeating tactic; it merely forces mailing    list servers to
  13963. require confirmation by return message for every    subscription.
  13964.  
  13965.    :lithium lick: n.  [NeXT] Steve Jobs.  Employees who have    gotten
  13966. too much attention from their esteemed founder are said to    have
  13967. `lithium lick' when they begin to show signs of Jobsian fervor    and
  13968. repeat the most recent catch phrases in normal conversation --    for
  13969. example, "It just works, right out of the box!"
  13970.  
  13971.    :little-endian: adj.  Describes a computer architecture in    which,
  13972. within a given 16- or 32-bit word, bytes at lower addresses    have
  13973. lower significance (the word is stored `little-end-first').     The
  13974. PDP-11 and VAX families of computers and Intel microprocessors    and a
  13975. lot of communications and networking hardware are    little-endian.
  13976. See {big-endian}, {middle-endian}, {NUXI    problem}.  The term is
  13977. sometimes used to describe the ordering of    units other than bytes;
  13978. most often, bits within a byte.
  13979.  
  13980.    :live: /li:v/ adj.,adv.  [common] Opposite of `test'.     Refers to
  13981. actual real-world data or a program working with it.  For    example,
  13982. the response to "I think the record deleter is finished"    might be
  13983. "Is it live yet?" or "Have you tried it out on live    data?"  This
  13984. usage usually carries the connotation that live data    is more fragile
  13985. and must not be corrupted, or bad things will    happen.  So a more
  13986. appropriate response might be: "Well, make sure    it works perfectly
  13987. before we throw live data at it."  The    implication here is that
  13988. record deletion is something pretty    significant, and a haywire
  13989. record-deleter running amok live would    probably cause great harm.
  13990.  
  13991.    :live data: n.  1. Data that is written to be interpreted and
  13992. takes over program flow when triggered by some un-obvious    operation,
  13993. such as viewing it.  One use of such hacks is to break    security.
  13994. For example, some smart terminals have commands that    allow one to
  13995. download strings to program keys; this can be used to    write live
  13996. data that, when listed to the terminal, infects it with    a
  13997. security-breaking {virus} that is triggered the next time a    hapless
  13998. user strikes that key.  For another, there are some    well-known bugs
  13999. in {vi} that allow certain texts to send    arbitrary commands back to
  14000. the machine when they are simply viewed.     2. In C code, data that
  14001. includes pointers to function {hook}s    (executable code).  3. An
  14002. object, such as a {trampoline}, that    is constructed on the fly by a
  14003. program and intended to be executed    as code.
  14004.  
  14005.    :Live Free Or Die!: imp.  1. The state motto of New    Hampshire,
  14006. which appears on that state's automobile license plates.     2. A
  14007. slogan associated with Unix in the romantic days when Unix
  14008. aficionados saw themselves as a tiny, beleaguered underground
  14009. tilting against the windmills of industry.  The "free" referred
  14010. specifically to freedom from the {fascist} design philosophies    and
  14011. crufty misfeatures common on commercial operating systems.     Armando
  14012. Stettner, one of the early Unix developers, used to give    out fake
  14013. license plates bearing this motto under a large Unix, all    in New
  14014. Hampshire colors of green and white.  These are now valued
  14015. collector's items.  In 1994 {DEC} put an inferior imitation of    these
  14016. in circulation with a red corporate logo added.  Compaq (half    of
  14017. which was once DEC) has continued yje practice.
  14018.  
  14019.    :livelock: /li:v'lok/ n.  A situation in which some critical
  14020. stage of a task is unable to finish because its clients perpetually
  14021. create more work for it to do after they have been serviced but
  14022. before it can clear its queue.  Differs from {deadlock} in that    the
  14023. process is not blocked or waiting for anything, but has a    virtually
  14024. infinite amount of work to do and can never catch up.
  14025.  
  14026.    :liveware: /li:v'weir/ n.  1. Synonym for {wetware}.     Less
  14027. common.  2. [Cambridge] Vermin. "Waiter, there's some    liveware in my
  14028. salad..."
  14029.  
  14030.    :lobotomy: n.  1. What a hacker subjected to formal management
  14031. training is said to have undergone.  At IBM and elsewhere this term
  14032. is used by both hackers and low-level management; the latter
  14033. doubtless intend it as a joke.  2. The act of removing the    processor
  14034. from a microcomputer in order to replace or upgrade it.     Some very
  14035. cheap {clone} systems are sold in `lobotomized' form    -- everything
  14036. but the brain.
  14037.  
  14038.    :locals, the: pl.n.  The users on one's local network (as
  14039. opposed, say, to people one reaches via public Internet or UUCP
  14040. connects).  The marked thing about this usage is how little it has
  14041. to do with real-space distance. "I have to do some tweaking on    this
  14042. mail utility before releasing it to the locals."
  14043.  
  14044.    :locked and loaded: adj.,obs.  [from military slang for an    M-16
  14045. rifle with magazine inserted and prepared for firing] Said of    a
  14046. removable disk volume properly prepared for use -- that is,    locked
  14047. into the drive and with the heads loaded.  Ironically,    because their
  14048. heads are `loaded' whenever the power is up, this    description is
  14049. never used of {{Winchester}} drives (which are    named after a rifle).
  14050.  
  14051.    :locked up: adj.  Syn. for {hung}, {wedged}.
  14052.  
  14053.    :logic bomb: n.  Code surreptitiously inserted into an
  14054. application or OS that causes it to perform some destructive or
  14055. security-compromising activity whenever specified conditions are
  14056. met.  Compare {back door}.
  14057.  
  14058.    :logical: adj.  [from the technical term `logical device',
  14059. wherein a physical device is referred to by an arbitrary    `logical'
  14060. name] Having the role of.  If a person (say, Les    Earnest at SAIL)
  14061. who had long held a certain post left and were    replaced, the
  14062. replacement would for a while be known as the    `logical' Les Earnest.
  14063. (This does not imply any judgment on the    replacement.)  Compare
  14064. {virtual}.
  14065.  
  14066.    At Stanford, `logical' compass directions denote a coordinate
  14067. system in which `logical north' is toward San Francisco,    `logical
  14068. west' is toward the ocean, etc., even though logical    north varies
  14069. between physical (true) north near San Francisco and    physical west
  14070. near San Jose.  (The best rule of thumb here is that,    by definition,
  14071. El Camino Real always runs logical north-and-south.)     In giving
  14072. directions, one might say: "To get to Rincon Tarasco    restaurant, get
  14073. onto {El Camino Bignum} going logical north."     Using the word
  14074. `logical' helps to prevent the recipient from    worrying about that
  14075. the fact that the sun is setting almost    directly in front of him.
  14076. The concept is reinforced by North    American highways which are
  14077. almost, but not quite, consistently    labeled with logical rather than
  14078. physical directions.  A similar    situation exists at MIT: Route 128
  14079. (famous for the electronics    industry that has grown up along it) is
  14080. a 3-quarters circle    surrounding Boston at a radius of 10 miles,
  14081. terminating near the    coastline at each end.  It would be most
  14082. precise to describe the    two directions along this highway as
  14083. `clockwise' and    `counterclockwise', but the road signs all say
  14084. "north" and    "south", respectively.  A hacker might describe these
  14085. directions    as `logical north' and `logical south', to indicate that
  14086. they    are conventional directions not corresponding to the usual
  14087. denotation for those words.  (If you went logical south along the
  14088. entire length of route 128, you would start out going northwest,
  14089. curve around to the south, and finish headed due east, passing    along
  14090. one infamous stretch of pavement that is simultaneously route    128
  14091. south and Interstate 93 north, and is signed as such!)
  14092.  
  14093.    :loop through: vt.  To process each element of a list of    things.
  14094. "Hold on, I've got to loop through my paper mail."     Derives from the
  14095. computer-language notion of an iterative loop;    compare `cdr down'
  14096. (under {cdr}), which is less common among C    and Unix programmers.
  14097. ITS hackers used to say `IRP over' after    an obscure pseudo-op in the
  14098. MIDAS PDP-10 assembler (the same IRP op    can nowadays be found in
  14099. Microsoft's assembler).
  14100.  
  14101.    :loose bytes: n.  Commonwealth hackish term for the padding    bytes
  14102. or {shim}s many compilers insert between members of a    record or
  14103. structure to cope with alignment requirements imposed by    the machine
  14104. architecture.
  14105.  
  14106.    :lord high fixer: n.  [primarily British, from Gilbert &
  14107. Sullivan's `lord high executioner'] The person in an organization
  14108. who knows the most about some aspect of a system.  See {wizard}.
  14109.  
  14110.    :lose: vi.  1. [very common] To fail.  A program loses    when it
  14111. encounters an exceptional condition or fails to work in the    expected
  14112. manner.  2. To be exceptionally unesthetic or crocky.     3. Of people,
  14113. to be obnoxious or unusually stupid (as opposed to    ignorant).  See
  14114. also {deserves to lose}.  4. n.  Refers to    something that is
  14115. {losing}, especially in the phrases "That's a    lose!" and "What a
  14116. lose!"
  14117.  
  14118.    :lose lose: interj.  A reply to or comment on an undesirable
  14119. situation.  "I accidentally deleted all my files!"  "Lose,    lose."
  14120.  
  14121.    :loser: n.  An unexpectedly bad situation, program,    programmer,
  14122. or person.  Someone who habitually loses.  (Even    winners can lose
  14123. occasionally.)  Someone who knows not and knows    not that he knows
  14124. not.  Emphatic forms are `real loser', `total    loser', and `complete
  14125. loser' (but not **`moby loser', which    would be a contradiction in
  14126. terms).  See {luser}.
  14127.  
  14128.    :losing: adj.  Said of anything that is or causes a    {lose} or
  14129. {lossage}.  "The compiler is losing badly when I    try to use
  14130. templates."
  14131.  
  14132.    :loss: n.  Something (not a person) that loses; a situation in
  14133. which something is losing.  Emphatic forms include `moby loss',    and
  14134. `total loss', `complete loss'.  Common interjections are    "What a
  14135. loss!"  and "What a moby loss!"  Note that `moby    loss' is OK even
  14136. though **`moby loser' is not used; applied to an    abstract noun, moby
  14137. is simply a magnifier, whereas when applied to    a person it implies
  14138. substance and has positive connotations.     Compare {lossage}.
  14139.  
  14140.    :lossage: /los'*j/ n.  [very common] The result of a bug    or
  14141. malfunction.  This is a mass or collective noun.  "What a    loss!" and
  14142. "What lossage!" are nearly synonymous.  The former is    slightly more
  14143. particular to the speaker's present circumstances;    the latter
  14144. implies a continuing {lose} of which the speaker is    currently a
  14145. victim.  Thus (for example) a temporary hardware    failure is a loss,
  14146. but bugs in an important tool (like a compiler)    are serious lossage.
  14147.  
  14148.    :lost in the noise: adj.  Syn. {lost in the underflow}.     This
  14149. term is from signal processing, where signals of very small
  14150. amplitude cannot be separated from low-intensity noise in the
  14151. system.  Though popular among hackers, it is not confined to
  14152. hackerdom; physicists, engineers, astronomers, and statisticians    all
  14153. use it.
  14154.  
  14155.    :lost in the underflow: adj.  Too small to be worth    considering;
  14156. more specifically, small beyond the limits of accuracy    or
  14157. measurement.  This is a reference to `floating underflow', a
  14158. condition that can occur when a floating-point arithmetic processor
  14159. tries to handle quantities smaller than its limit of magnitude.  It
  14160. is also a pun on `undertow' (a kind of fast, cold current that
  14161. sometimes runs just offshore and can be dangerous to swimmers).
  14162. "Well, sure, photon pressure from the stadium lights alters the    path
  14163. of a thrown baseball, but that effect gets lost in the    underflow."
  14164. Compare {epsilon}, {epsilon squared}; see also    {overflow bit}.
  14165.  
  14166.    :lots of MIPS but no I/O: adj.  Used to describe a person who    is
  14167. technically brilliant but can't seem to communicate with human
  14168. beings effectively.  Technically it describes a machine that has
  14169. lots of processing power but is bottlenecked on input-output (in
  14170. 1991, the IBM Rios, a.k.a. RS/6000, was a notorious example).
  14171.  
  14172.    :low-bandwidth: adj.  [from communication theory] Used to
  14173. indicate a talk that, although not {content-free}, was not    terribly
  14174. informative.  "That was a low-bandwidth talk, but what    can you
  14175. expect for an audience of {suit}s!"  Compare    {zero-content},
  14176. {bandwidth}, {math-out}.
  14177.  
  14178.    :LPT: /L-P-T/ or /lip'it/ or /lip-it'/ n.  1. Line    printer
  14179. (originally Line Printing Terminal).  Rare under Unix, more    common
  14180. among hackers who grew up with ITS, MS-DOS, CP/M and other    operating
  14181. systems that were strongly influenced by early {DEC}    conventions.
  14182. 2. Local PorT.  Used among MS-DOS programmers (and so    expanded in
  14183. the MS-DOS 5 manual).  It seems likely this is a    {backronym}.
  14184.  
  14185.    :Lubarsky's Law of Cybernetic Entomology: prov.  "There is
  14186. _always_ one more bug."
  14187.  
  14188.    :Lumber Cartel: n.  A mythical conspiracy accused by
  14189. {spam}-spewers of funding anti-spam activism in order to force    the
  14190. direct-mail promotions industry back onto paper.  Hackers,
  14191. predictably, responded by forming a "Lumber Cartel" spoofing this
  14192. paranoid theory; the web page is    `http://come.to/the.lumber.cartel'.
  14193. Members often include the    tag TINLC ("There Is No Lumber Cartel") in
  14194. their postings; see    {TINC}, {backbone cabal} and {NANA} for
  14195. explanation.
  14196.  
  14197.    :lunatic fringe: n.  [IBM] Customers who can be relied upon to
  14198. accept release 1 versions of software.  Compare {heatseeker}.
  14199.  
  14200.    :lurker: n.  One of the `silent majority' in a electronic    forum;
  14201. one who posts occasionally or not at all but is known to    read the
  14202. group's postings regularly.  This term is not pejorative    and indeed
  14203. is casually used reflexively: "Oh, I'm just lurking."     Often used in
  14204. `the lurkers', the hypothetical audience for the    group's
  14205. {flamage}-emitting regulars.  When a lurker speaks up    for the first
  14206. time, this is called `delurking'.
  14207.  
  14208.    The creator of the popular science-fiction TV series "Babylon    5"
  14209. has ties to SF fandom and the hacker culture.  In that series,    the
  14210. use of the term `lurker' for a homeless or displaced person is    a
  14211. conscious reference to the jargon term.
  14212.  
  14213.    :luser: /loo'zr/ n.  [common] A {user}; esp. one    who is also a
  14214. {loser}.  ({luser} and {loser} are    pronounced identically.)  This
  14215. word was coined around 1975 at MIT.     Under ITS, when you first
  14216. walked up to a terminal at MIT and typed    Control-Z to get the
  14217. computer's attention, it printed out some    status information,
  14218. including how many people were already using    the computer; it might
  14219. print "14 users", for example.  Someone    thought it would be a great
  14220. joke to patch the system to print "14    losers" instead.  There ensued
  14221. a great controversy, as some of the    users didn't particularly want
  14222. to be called losers to their faces    every time they used the
  14223. computer.  For a while several hackers    struggled covertly, each
  14224. changing the message behind the back of    the others; any time you
  14225. logged into the computer it was even money    whether it would say
  14226. "users" or "losers".  Finally, someone    tried the compromise
  14227. "lusers", and it stuck.  Later one of the    ITS machines supported
  14228. `luser' as a request-for-help command.     ITS died the death in
  14229. mid-1990, except as a museum piece; the usage    lives on, however, and
  14230. the term `luser' is often seen in program    comments and on Usenet.
  14231.  
  14232. = M =
  14233. =====
  14234.  
  14235.    :M: pref. (on units) suff. (on numbers)  [SI] See    {{quantifiers}}.
  14236.  
  14237.    :M$:  Common net abbreviation for Microsoft, everybody's least
  14238. favorite monopoly.
  14239.  
  14240.    :macdink: /mak'dink/ vt.  [from the Apple Macintosh, which    is
  14241. said to encourage such behavior] To make many incremental and
  14242. unnecessary cosmetic changes to a program or file.  Often the
  14243. subject of the macdinking would be better off without them.  "When    I
  14244. left at 11 P.M. last night, he was still macdinking the    slides for
  14245. his presentation."  See also {fritterware},    {window shopping}.
  14246.  
  14247.    :machinable: adj.  Machine-readable.  Having the {softcopy}
  14248. nature.
  14249.  
  14250.    :machoflops: /mach'oh-flops/ n.  [pun on `megaflops', a    coinage
  14251. for `millions of FLoating-point Operations Per Second']    Refers to
  14252. artificially inflated performance figures often quoted by    computer
  14253. manufacturers.  Real applications are lucky to get half    the quoted
  14254. speed. See {Your mileage may vary}, {benchmark}.
  14255.  
  14256.    :Macintoy: /mak'in-toy/ n.  The Apple Macintosh, considered    as a
  14257. {toy}.  Less pejorative than {Macintrash}.
  14258.  
  14259.    :Macintrash: /mak'in-trash`/ n.  The Apple Macintosh, as
  14260. described by a hacker who doesn't appreciate being kept away from
  14261. the _real computer_ by the interface.  The term {maggotbox}    has been
  14262. reported in regular use in the Research Triangle area of    North
  14263. Carolina.  Compare {Macintoy}. See also {beige    toaster}, {WIMP
  14264. environment}, {point-and-drool interface},    {drool-proof paper},
  14265. {user-friendly}.
  14266.  
  14267.    :macro: /mak'roh/ n.  [techspeak] A name (possibly followed    by a
  14268. formal {arg} list) that is equated to a text or symbolic    expression
  14269. to which it is to be expanded (possibly with the    substitution of
  14270. actual arguments) by a macro expander.  This    definition can be found
  14271. in any technical dictionary; what those    won't tell you is how the
  14272. hackish connotations of the term have    changed over time.
  14273.  
  14274.    The term `macro' originated in early assemblers, which encouraged
  14275. the use of macros as a structuring and information-hiding device.
  14276. During the early 1970s, macro assemblers became ubiquitous, and
  14277. sometimes quite as powerful and expensive as {HLL}s, only to fall
  14278. from favor as improving compiler technology marginalized assembler
  14279. programming (see {languages of choice}).  Nowadays the term is    most
  14280. often used in connection with the C preprocessor, LISP, or one    of
  14281. several special-purpose languages built around a macro-expansion
  14282. facility (such as TeX or Unix's [nt]roff suite).
  14283.  
  14284.    Indeed, the meaning has drifted enough that the collective
  14285. `macros' is now sometimes used for code in any special-purpose
  14286. application control language (whether or not the language is
  14287. actually translated by text expansion), and for macro-like entities
  14288. such as the `keyboard macros' supported in some text editors    (and PC
  14289. TSR or Macintosh INIT/CDEV keyboard enhancers).
  14290.  
  14291.    :macro-: pref.  Large.  Opposite of {micro-}.  In the    mainstream
  14292. and among other technical cultures (for example, medical    people)
  14293. this competes with the prefix {mega-}, but hackers tend    to restrict
  14294. the latter to quantification.
  14295.  
  14296.    :macrology: /mak-rol'*-jee/ n.  1. Set of usually complex or
  14297. crufty macros, e.g., as part of a large system written in    {LISP},
  14298. {TECO}, or (less commonly) assembler.  2. The art and    science
  14299. involved in comprehending a macrology in sense 1.     Sometimes
  14300. studying the macrology of a system is not unlike    archeology,
  14301. ecology, or {theology}, hence the sound-alike    construction.  See
  14302. also {boxology}.
  14303.  
  14304.    :macrotape: /mak'roh-tayp/ n.  An industry-standard reel of    tape.
  14305. Originally, as opposed to a DEC microtape; nowadays, as    opposed to
  14306. modern QIC and DDS tapes.  Syn. {round tape}.
  14307.  
  14308.    :maggotbox: /mag'*t-boks/ n.  See {Macintrash}.  This is    even
  14309. more derogatory.
  14310.  
  14311.    :magic:  1. adj. As yet unexplained, or too complicated to
  14312. explain; compare {automagically} and (Arthur C.) Clarke's Third    Law:
  14313. "Any sufficiently advanced technology is indistinguishable    from
  14314. magic."  "TTY echoing is controlled by a large number of    magic
  14315. bits."  "This routine magically computes the parity of an    8-bit byte
  14316. in three instructions."  2. adj. Characteristic of    something that
  14317. works although no one really understands why (this    is especially
  14318. called {black magic}).  3. n. [Stanford] A    feature not generally
  14319. publicized that allows something otherwise    impossible, or a feature
  14320. formerly in that category but now    unveiled.  4. n.  The ultimate
  14321. goal of all engineering &    development, elegance in the extreme; from
  14322. the first corollary to    Clarke's Third Law: "Any technology
  14323. distinguishable from magic is    insufficiently advanced".
  14324.  
  14325.    For more about hackish `magic', see {Appendix A}.  Compare    {black
  14326. magic}, {wizardly}, {deep magic}, {heavy    wizardry}.
  14327.  
  14328.    :magic cookie: n.  [Unix; common] 1. Something passed    between
  14329. routines or programs that enables the receiver to perform    some
  14330. operation; a capability ticket or opaque identifier.     Especially
  14331. used of small data objects that contain data encoded in    a strange or
  14332. intrinsically machine-dependent way.  E.g., on    non-Unix OSes with a
  14333. non-byte-stream model of files, the result of    `ftell(3)' may be a
  14334. magic cookie rather than a byte offset; it    can be passed to
  14335. `fseek(3)', but not operated on in any    meaningful way.  The phrase
  14336. `it hands you a magic cookie' means    it returns a result whose
  14337. contents are not defined but which can be    passed back to the same or
  14338. some other program later.  2. An in-band    code for changing graphic
  14339. rendition (e.g., inverse video or    underlining) or performing other
  14340. control functions (see also    {cookie}).  Some older terminals would
  14341. leave a blank on the    screen corresponding to mode-change magic
  14342. cookies; this was also    called a {glitch} (or occasionally a `turd';
  14343. compare {mouse    droppings}).  See also {cookie}.
  14344.  
  14345.    :magic number: n.  [Unix/C; common] 1. In source code,    some
  14346. non-obvious constant whose value is significant to the    operation of
  14347. a program and that is inserted inconspicuously in-line
  14348. ({hardcoded}), rather than expanded in by a symbol set by a
  14349. commented `#define'.  Magic numbers in this sense are bad    style.  2.
  14350. A number that encodes critical information used in an    algorithm in
  14351. some opaque way.  The classic examples of these are    the numbers used
  14352. in hash or CRC functions, or the coefficients in a    linear
  14353. congruential generator for pseudo-random numbers.  This    sense
  14354. actually predates and was ancestral to the more commonsense    1.  3.
  14355. Special data located at the beginning of a binary data file    to
  14356. indicate its type to a utility.  Under Unix, the system and    various
  14357. applications programs (especially the linker) distinguish    between
  14358. types of executable file by looking for a magic number.     Once upon a
  14359. time, these magic numbers were PDP-11 branch    instructions that
  14360. skipped over header data to the start of    executable code; 0407, for
  14361. example, was octal for `branch 16 bytes    relative'.  Many other kinds
  14362. of files now have magic numbers    somewhere; some magic numbers are,
  14363. in fact, strings, like the    `!<arch>' at the beginning of a Unix
  14364. archive file or the    `%!' leading PostScript files.  Nowadays only a
  14365. {wizard}    knows the spells to create magic numbers.  How do you
  14366. choose a    fresh magic number of your own?  Simple -- you pick one at
  14367. random.     See?  It's magic!
  14368.  
  14369.    _The_ magic number, on the other hand, is 7+/-2.  See    "The
  14370. magical number seven, plus or minus two: some limits on    our capacity
  14371. for processing information" by George Miller, in the    "Psychological
  14372. Review" 63:81-97 (1956).  This classic paper    established the number
  14373. of distinct items (such as numeric digits)    that humans can hold in
  14374. short-term memory.  Among other things,    this strongly influenced the
  14375. interface design of the phone system.
  14376.  
  14377.    :magic smoke: n.  A substance trapped inside IC packages that
  14378. enables them to function (also called `blue smoke'; this is    similar
  14379. to the archaic `phlogiston' hypothesis about    combustion).  Its
  14380. existence is demonstrated by what happens when a    chip burns up --
  14381. the magic smoke gets let out, so it doesn't work    any more.  See
  14382. {smoke test}, {let the smoke out}.
  14383.  
  14384.    Usenetter Jay Maynard tells the following story: "Once, while
  14385. hacking on a dedicated Z80 system, I was testing code by blowing
  14386. EPROMs and plugging them in the system, then seeing what happened.
  14387. One time, I plugged one in backwards.  I only discovered that
  14388. _after_ I realized that Intel didn't put power-on lights under    the
  14389. quartz windows on the tops of their EPROMs -- the die was    glowing
  14390. white-hot.  Amazingly, the EPROM worked fine after I erased    it,
  14391. filled it full of zeros, then erased it again.  For all I know,    it's
  14392. still in service.  Of course, this is because the magic smoke    didn't
  14393. get let out."  Compare the original phrasing of {Murphy's    Law}.
  14394.  
  14395.    :mail storm: n.  [from {broadcast storm}, influenced by
  14396. `maelstrom'] What often happens when a machine with an Internet
  14397. connection and active users re-connects after extended downtime --    a
  14398. flood of incoming mail that brings the machine to its knees.     See
  14399. also {hairball}.
  14400.  
  14401.    :mailbomb:  (also mail bomb) [Usenet] 1. v. To send, or    urge
  14402. others to send, massive amounts of {email} to a single    system or
  14403. person, esp. with intent to crash or {spam} the    recipient's system.
  14404. Sometimes done in retaliation for a perceived    serious offense.
  14405. Mailbombing is itself widely regarded as a    serious offense -- it can
  14406. disrupt email traffic or other    facilities for innocent users on the
  14407. victim's system, and in    extreme cases, even at upstream sites.  2.
  14408. n. An automatic    procedure with a similar effect.  3. n. The mail
  14409. sent.  Compare    {letterbomb}, {nastygram}, {BLOB} (sense 2),
  14410. {list-bomb}.
  14411.  
  14412.    :mailing list: n.  (often shortened in context to `list')    1. An
  14413. {email} address that is an alias (or {macro}, though    that word is
  14414. never used in this connection) for many other email    addresses.  Some
  14415. mailing lists are simple `reflectors',    redirecting mail sent to them
  14416. to the list of recipients.  Others    are filtered by humans or
  14417. programs of varying degrees of    sophistication; lists filtered by
  14418. humans are said to be    `moderated'.  2. The people who receive your
  14419. email when you send    it to such an address.
  14420.  
  14421.    Mailing lists are one of the primary forms of hacker interaction,
  14422. along with {Usenet}.  They predate Usenet, having originated    with
  14423. the first UUCP and ARPANET connections.  They are often used    for
  14424. private information-sharing on topics that would be too    specialized
  14425. for or inappropriate to public Usenet groups.  Though    some of these
  14426. maintain almost purely technical content (such as the    Internet
  14427. Engineering Task Force mailing list), others (like the    `sf-lovers'
  14428. list maintained for many years by Saul Jaffe) are    recreational, and
  14429. many are purely social.  Perhaps the most    infamous of the social
  14430. lists was the eccentric bandykin    distribution; its latter-day
  14431. progeny, lectroids and    tanstaafl, still include a number of the
  14432. oddest and most    interesting people in hackerdom.
  14433.  
  14434.    Mailing lists are easy to create and (unlike Usenet) don't tie up a
  14435.  significant amount of machine resources (until they get very large,
  14436. at which point they can become interesting torture tests for mail
  14437. software).  Thus, they are often created temporarily by working
  14438. groups, the members of which can then collaborate on a project
  14439. without ever needing to meet face-to-face.  Much of the material in
  14440. this lexicon was criticized and polished on just such a mailing    list
  14441. (called `jargon-friends'), which included all the co-authors    of
  14442. Steele-1983.
  14443.  
  14444.    :main loop: n.  The top-level control flow construct in an    input-
  14445. or event-driven program, the one which receives and acts or
  14446. dispatches on the program's input.  See also {driver}.
  14447.  
  14448.    :mainframe: n.  Term originally referring to the cabinet
  14449. containing the central processor unit or `main frame' of a
  14450. room-filling {Stone Age} batch machine.  After the emergence of
  14451. smaller `minicomputer' designs in the early 1970s, the    traditional
  14452. {big iron} machines were described as `mainframe    computers' and
  14453. eventually just as mainframes.  The term carries the    connotation of
  14454. a machine designed for batch rather than interactive    use, though
  14455. possibly with an interactive timesharing operating    system
  14456. retrofitted onto it; it is especially used of machines built    by IBM,
  14457. Unisys, and the other great {dinosaur}s surviving from    computing's
  14458. {Stone Age}.
  14459.  
  14460.    It has been common wisdom among hackers since the late 1980s that
  14461. the mainframe architectural tradition is essentially dead (outside
  14462. of the tiny market for {number-crunching} supercomputers (see
  14463. {cray})), having been swamped by the recent huge advances in IC
  14464. technology and low-cost personal computing.  The wave of failures,
  14465. takeovers, and mergers among traditional mainframe makers in the
  14466. early 1990s bore this out.  The biggest mainframer of all, IBM, was
  14467. compelled to re-invent itself as a huge systems-consulting house.
  14468. (See {dinosaurs mating} and {killer micro}).
  14469.  
  14470.    :management: n.  1. Corporate power elites distinguished
  14471. primarily by their distance from actual productive work and their
  14472. chronic failure to manage (see also {suit}).  Spoken derisively,    as
  14473. in "_Management_ decided that ...".  2. Mythically, a    vast
  14474. bureaucracy responsible for all the world's minor irritations.
  14475. Hackers' satirical public notices are often signed `The Mgt'; this
  14476. derives from the "Illuminatus" novels (see the    {Bibliography} in
  14477. Appendix C).
  14478.  
  14479.    :mandelbug: /man'del-buhg/ n.  [from the Mandelbrot set] A    bug
  14480. whose underlying causes are so complex and obscure as to make    its
  14481. behavior appear chaotic or even non-deterministic.  This term
  14482. implies that the speaker thinks it is a {Bohr bug}, rather than    a
  14483. {heisenbug}.  See also {schroedinbug}.
  14484.  
  14485.    :manged: /mahnjd/ n.  [probably from the French `manger'    or
  14486. Italian `mangiare', to eat; perhaps influenced by English    `mange',
  14487. `mangy'] adj. Refers to anything that is mangled or    damaged, usually
  14488. beyond repair.  "The disk was manged after the    electrical storm."
  14489. Compare {mung}.
  14490.  
  14491.    :mangle: vt.  1. Used similarly to {mung} or {scribble},    but more
  14492. violent in its connotations; something that is mangled has    been
  14493. irreversibly and totally trashed. 2. To produce the {mangled    name}
  14494. corresponding to a C++ declaration.
  14495.  
  14496.    :mangled name: n.  A name, appearing in a C++ object file,    that
  14497. is a coded representation of the object declaration as it    appears in
  14498. the source. Mangled names are used because C++ allows    multiple
  14499. objects to have the same name, as long as they are    distinguishable
  14500. in some other way, such as by having different    parameter types.
  14501. Thus, the internal name must have that additional    information
  14502. embedded in it, using the limited character set allowed    by most
  14503. linkers. For instance, one popular compiler encodes the    standard
  14504. library function declaration "memchr(const    void*,int,unsigned int)"
  14505. as "@memchr$qpxviui".
  14506.  
  14507.    :mangler: n.  [DEC] A manager.  Compare    {management}.  Note that
  14508. {system mangler} is somewhat    different in connotation.
  14509.  
  14510.    :manularity: /man`yoo-la'ri-tee/ n.  [prob. fr. techspeak
  14511. `manual' + `granularity'] A notional measure of the manual    labor
  14512. required for some task, particularly one of the sort that    automation
  14513. is supposed to eliminate.  "Composing English on paper    has much
  14514. higher manularity than using a text editor, especially in    the
  14515. revising stage."  Hackers tend to consider manularity a    symptom of
  14516. primitive methods; in fact, a true hacker confronted    with an
  14517. apparent requirement to do a computing task {by hand}    will
  14518. inevitably seize the opportunity to build another tool (see
  14519. {toolsmith}).
  14520.  
  14521.    :marbles: pl.n.  [from mainstream "lost all his/her    marbles"] The
  14522. minimum needed to build your way further up some    hierarchy of tools
  14523. or abstractions.  After a bad system crash, you    need to determine if
  14524. the machine has enough marbles to come up on    its own, or enough
  14525. marbles to allow a rebuild from backups, or if    you need to rebuild
  14526. from scratch.  "This compiler doesn't even    have enough marbles to
  14527. compile {hello world}."
  14528.  
  14529.    :marginal: adj.  [common] 1. [techspeak] An extremely    small
  14530. change.  "A marginal increase in {core} can decrease    {GC} time
  14531. drastically."  In everyday terms, this means that it    is a lot easier
  14532. to clean off your desk if you have a spare place to    put some of the
  14533. junk while you sort through it.  2. Of little    merit.  "This proposed
  14534. new feature seems rather marginal to me."     3. Of extremely small
  14535. probability of {win}ning.  "The power    supply was rather marginal
  14536. anyway; no wonder it fried."
  14537.  
  14538.    :Marginal Hacks: n.  Margaret Jacks Hall, a building into    which
  14539. the Stanford AI Lab was moved near the beginning of the 1980s    (from
  14540. the {D. C. Power Lab}).
  14541.  
  14542.    :marginally: adv.  Slightly.  "The ravs here are only    marginally
  14543. better than at Small Eating Place."  See {epsilon}.
  14544.  
  14545.    :marketroid: /mar'k*-troyd/ n.  alt. `marketing slime',
  14546. `marketeer', `marketing droid', `marketdroid'. A member    of a
  14547. company's marketing department, esp. one who promises users    that the
  14548. next version of a product will have features that are not    actually
  14549. scheduled for inclusion, are extremely difficult to    implement,
  14550. and/or are in violation of the laws of physics; and/or    one who
  14551. describes existing features (and misfeatures) in ebullient,
  14552. buzzword-laden adspeak.  Derogatory.  Compare {droid}.
  14553.  
  14554.    :Mars: n.  A legendary tragic failure, the archetypal Hacker
  14555. Dream Gone Wrong.  Mars was the code name for a family of PDP-10
  14556. compatible computers built by Systems Concepts (now, The SC Group):
  14557. the multi-processor SC-30M, the small uniprocessor SC-25M, and the
  14558. never-built superprocessor SC-40M.  These machines were marvels of
  14559. engineering design; although not much slower than the unique
  14560. {Foonly} F-1, they were physically smaller and consumed less    power
  14561. than the much slower {DEC} KS10 or Foonly F-2, F-3, or F-4    machines.
  14562. They were also completely compatible with the DEC KL10,    and ran all
  14563. KL10 binaries (including the operating system) with no    modifications
  14564. at about 2-3 times faster than a KL10.
  14565.  
  14566.    When DEC cancelled the Jupiter project in 1983, Systems Concepts
  14567. should have made a bundle selling their machine into shops with a
  14568. lot of software investment in PDP-10s, and in fact their spring    1984
  14569. announcement generated a great deal of excitement in the    PDP-10
  14570. world.  TOPS-10 was running on the Mars by the summer of    1984, and
  14571. TOPS-20 by early fall.  Unfortunately, the hackers    running Systems
  14572. Concepts were much better at designing machines    than at mass
  14573. producing or selling them; the company allowed itself    to be
  14574. sidetracked by a bout of perfectionism into continually    improving
  14575. the design, and lost credibility as delivery dates    continued to
  14576. slip.  They also overpriced the product ridiculously;    they believed
  14577. they were competing with the KL10 and VAX 8600 and    failed to reckon
  14578. with the likes of Sun Microsystems and other    hungry startups
  14579. building workstations with power comparable to the    KL10 at a
  14580. fraction of the price.  By the time SC shipped the first    SC-30M to
  14581. Stanford in late 1985, most customers had already made    the traumatic
  14582. decision to abandon the PDP-10, usually for VMS or    Unix boxes.  Most
  14583. of the Mars computers built ended up being    purchased by CompuServe.
  14584.  
  14585.    This tale and the related saga of {Foonly} hold a lesson for
  14586. hackers: if you want to play in the {Real World}, you need to    learn
  14587. Real World moves.
  14588.  
  14589.    :martian: n.  A packet sent on a TCP/IP network with a source
  14590. address of the test loopback interface [127.0.0.1].  This means    that
  14591. it will come back labeled with a source address that is    clearly not
  14592. of this earth.  "The domain server is getting lots of    packets from
  14593. Mars.  Does that gateway have a martian filter?"     Compare {Christmas
  14594. tree packet}, {Godzillagram}.
  14595.  
  14596.    :massage: vt.  [common] Vague term used to describe    `smooth'
  14597. transformations of a data set into a different form,    esp.
  14598. transformations that do not lose information.  Connotes less    pain
  14599. than {munch} or {crunch}.  "He wrote a program that    massages X
  14600. bitmap files into GIF format."  Compare {slurp}.
  14601.  
  14602.    :math-out: n.  [poss. from `white-out' (the blizzard variety)]    A
  14603. paper or presentation so encrusted with mathematical or other    formal
  14604. notation as to be incomprehensible.  This may be a device    for
  14605. concealing the fact that it is actually {content-free}.  See    also
  14606. {numbers}, {social science number}.
  14607.  
  14608.    :Matrix: n.  [FidoNet] 1. What the Opus BBS software and    sysops
  14609. call {FidoNet}.  2. Fanciful term for a {cyberspace}    expected to
  14610. emerge from current networking experiments (see {the    network}).  The
  14611. name of the rather good 1999 {cypherpunk} movie    "The Matrix" played
  14612. on this sense, which however had been    established for years before.
  14613. 3. The totality of present-day    computer networks (popularized in
  14614. this sense by John Quarterman;    rare outside academicv literature).
  14615.  
  14616.    :maximum Maytag mode: n.  What a {washing machine} or,    by
  14617. extension, any disk drive is in when it's being used so heavily    that
  14618. it's shaking like an old Maytag with an unbalanced load.  If
  14619. prolonged for any length of time, can lead to disks becoming
  14620. {walking drives}.  Ibn 1999 it's been some years since hard    disks
  14621. were large enough to do this, but the same phenomenon has    recently
  14622. been reported with 24X CD-ROM drives.
  14623.  
  14624.    :meatware: n.  Synonym for {wetware}.  Less common.
  14625.  
  14626.    :meeces: /mees'*z/ n.  [TMRC] Occasional furry visitors who    are
  14627. not {urchin}s.  [That is, mice. This may no longer be in    live use;
  14628. it clearly derives from the refrain of the early-1960s    cartoon
  14629. character Mr. Jinx: "I hate meeces to _pieces_!" --    ESR]
  14630.  
  14631.    :meg: /meg/ n.  See {{quantifiers}}.
  14632.  
  14633.    :mega-: /me'g*/ pref.  [SI] See {{quantifiers}}.
  14634.  
  14635.    :megapenny: /meg'*-pen`ee/ n.  $10,000 (1 cent *    10^6).  Used
  14636. semi-humorously as a unit in comparing computer    cost and performance
  14637. figures.
  14638.  
  14639.    :MEGO: /me'goh/ or /mee'goh/  [`My Eyes Glaze Over', often    `Mine
  14640. Eyes Glazeth (sic) Over', attributed to the futurologist    Herman
  14641. Kahn] Also `MEGO factor'.  1. n. A {handwave} intended    to confuse
  14642. the listener and hopefully induce agreement because the    listener
  14643. does not want to admit to not understanding what is going    on.  MEGO
  14644. is usually directed at senior management by engineers and    contains a
  14645. high proportion of {TLA}s.  2. excl. An appropriate    response to MEGO
  14646. tactics.  3. Among non-hackers, often refers not    to behavior that
  14647. causes the eyes to glaze, but to the eye-glazing    reaction itself,
  14648. which may be triggered by the mere threat of    technical detail as
  14649. effectively as by an actual excess of it.
  14650.  
  14651.    :meltdown, network: n.  See {network meltdown}.
  14652.  
  14653.    :meme: /meem/ n.  [coined by analogy with `gene', by    Richard
  14654. Dawkins] An idea considered as a {replicator}, esp.     with the
  14655. connotation that memes parasitize people into propagating    them much
  14656. as viruses do.  Used esp. in the phrase `meme    complex' denoting a
  14657. group of mutually supporting memes that form an    organized belief
  14658. system, such as a religion.  This lexicon is an    (epidemiological)
  14659. vector of the `hacker subculture' meme complex;    each entry might be
  14660. considered a meme.  However, `meme' is often    misused to mean `meme
  14661. complex'.  Use of the term connotes    acceptance of the idea that in
  14662. humans (and presumably other tool-    and language-using sophonts)
  14663. cultural evolution by selection of    adaptive ideas has superseded
  14664. biological evolution by selection of    hereditary traits.  Hackers
  14665. find this idea congenial for tolerably    obvious reasons.
  14666.  
  14667.    :meme plague: n.  The spread of a successful but pernicious
  14668. {meme}, esp. one that parasitizes the victims into giving    their all
  14669. to propagate it.  Astrology, BASIC, and the other guy's    religion are
  14670. often considered to be examples.  This usage is given    point by the
  14671. historical fact that `joiner' ideologies like    Naziism or various
  14672. forms of millennarian Christianity have    exhibited plague-like cycles
  14673. of exponential growth followed by    collapses to small reservoir
  14674. populations.
  14675.  
  14676.    :memetics: /me-met'iks/ n.  [from {meme}] The study of    memes.  As
  14677. of early 1999, this is still an extremely informal and    speculative
  14678. endeavor, though the first steps towards at least    statistical rigor
  14679. have been made by H. Keith Henson and others.     Memetics is a popular
  14680. topic for speculation among hackers, who like    to see themselves as
  14681. the architects of the new information    ecologies in which memes live
  14682. and replicate.
  14683.  
  14684.    :memory farts: n.  The flatulent sounds that some DOS box    BIOSes
  14685. (most notably AMI's) make when checking memory on bootup.
  14686.  
  14687.    :memory leak: n.  An error in a program's dynamic-store
  14688. allocation logic that causes it to fail to reclaim discarded    memory,
  14689. leading to eventual collapse due to memory exhaustion.     Also (esp.
  14690. at CMU) called {core leak}.  These problems were    severe on older
  14691. machines with small, fixed-size address spaces, and    special "leak
  14692. detection" tools were commonly written to root them    out.  With the
  14693. advent of virtual memory, it is unfortunately easier    to be sloppy
  14694. about wasting a bit of memory (although when you run    out of memory
  14695. on a VM machine, it means you've got a _real_    leak!).  See {aliasing
  14696. bug}, {fandango on core}, {smash    the stack}, {precedence lossage},
  14697. {overrun screw}, {leaky    heap}, {leak}.
  14698.  
  14699.    :memory smash: n.  [XEROX PARC] Writing through a pointer that
  14700. doesn't point to what you think it does.  This occasionally reduces
  14701. your machine to a rubble of bits.  Note that this is subtly
  14702. different from (and more general than) related terms such as a
  14703. {memory leak} or {fandango on core} because it doesn't imply    an
  14704. allocation error or overrun condition.
  14705.  
  14706.    :menuitis: /men`yoo-i:'tis/ n.  Notional disease suffered by
  14707. software with an obsessively simple-minded menu interface and no
  14708. escape.  Hackers find this intensely irritating and much prefer the
  14709. flexibility of command-line or language-style interfaces,    especially
  14710. those customizable via macros or a special-purpose    language in which
  14711. one can encode useful hacks.  See    {user-obsequious}, {drool-proof
  14712. paper}, {WIMP    environment}, {for the rest of us}.
  14713.  
  14714.    :mess-dos: /mes-dos/ n.  [semi-obsolescent now that DOS    is]
  14715. Derisory term for MS-DOS.  Often followed by the ritual    banishing
  14716. "Just say No!"  See {{MS-DOS}}.  Most hackers (even    many MS-DOS
  14717. hackers) loathed MS-DOS for its single-tasking nature,    its limits on
  14718. application size, its nasty primitive interface, and    its ties to
  14719. IBMness and Microsoftness (see {fear and loathing}).     Also
  14720. `mess-loss', `messy-dos', `mess-dog', `mess-dross',    `mush-dos', and
  14721. various combinations thereof.  In Ireland and the    U.K. it is even
  14722. sometimes called `Domestos' after a brand of toilet    cleanser.
  14723.  
  14724.    :meta: /me't*/ or /may't*/ or (Commonwealth) /mee't*/    adj.,pref.
  14725. [from analytic philosophy] One level of    description up.  A
  14726. metasyntactic variable is a variable in notation    used to describe
  14727. syntax, and meta-language is language used to    describe language.
  14728. This is difficult to explain briefly, but much    hacker humor turns on
  14729. deliberate confusion between meta-levels.     See {{hacker humor}}.
  14730.  
  14731.    :meta bit: n.  The top bit of an 8-bit character, which is    on in
  14732. character values 128-255.  Also called {high bit},    {alt bit}, or
  14733. (rarely) {hobbit}.  Some terminals and consoles    (see {space-cadet
  14734. keyboard}) have a META shift key.  Others    (including, _mirabile
  14735. dictu_, keyboards on IBM PC-class    machines) have an ALT key.  See
  14736. also {bucky bits}.
  14737.  
  14738.    Historical note: although in modern usage shaped by a universe of
  14739. 8-bit bytes the meta bit is invariably hex 80 (octal 0200), things
  14740. were different on earlier machines with 36-bit words and 9-bit
  14741. bytes.  The MIT and Stanford keyboards (see {space-cadet    keyboard})
  14742. generated hex 100 (octal 400) from their meta keys.
  14743.  
  14744.    :metasyntactic variable: n.  A name used in examples and
  14745. understood to stand for whatever thing is under discussion, or any
  14746. random member of a class of things under discussion.  The word    {foo}
  14747. is the {canonical} example.  To avoid confusion,    hackers never
  14748. (well, hardly ever) use `foo' or other words like    it as permanent
  14749. names for anything.  In filenames, a common    convention is that any
  14750. filename beginning with a    metasyntactic-variable name is a {scratch}
  14751. file that may be    deleted at any time.
  14752.  
  14753.    Metasyntactic variables are so called because (1) they are
  14754. variables in the metalanguage used to talk about programs etc; (2)
  14755. they are variables whose values are often variables (as in usages
  14756. usages like "the value of f(foo,bar) is the sum of foo and bar").
  14757. However, it has been plausibly suggested that the real reason for
  14758. the term "metasyntactic variable" is that it sounds good.
  14759.  
  14760.    To some extent, the list of one's preferred metasyntactic variables
  14761.  is a cultural signature.  They occur both in series (used for
  14762. related groups of variables or objects) and as singletons.  Here    are
  14763. a few common signatures:
  14764.  
  14765.     {foo}, {bar}, {baz}, {quux}, quuux, quuuux...:
  14766.           MIT/Stanford usage, now found everywhere (thanks largely to
  14767.           early versions of this lexicon!).  At MIT (but not at
  14768.           Stanford), {baz} dropped out of use for a while in the 1970s
  14769.           and '80s. A common recent mutation of this sequence inserts
  14770.           {qux} before {quux}.
  14771.  
  14772.     bazola, ztesch:
  14773.           Stanford (from mid-'70s on).
  14774.  
  14775.     {foo}, {bar}, thud, grunt:
  14776.           This series was popular at CMU.  Other CMU-associated
  14777.           variables include {gorp}.
  14778.  
  14779.     {foo}, {bar}, fum:
  14780.           This series is reported to be common at XEROX PARC.
  14781.  
  14782.     {fred}, jim, sheila, {barney}:
  14783.           See the entry for {fred}.  These tend to be Britishisms.
  14784.  
  14785.     {corge}, {grault}, {flarp}:
  14786.           Popular at Rutgers University and among {GOSMACS} hackers.
  14787.  
  14788.     zxc, spqr, wombat:
  14789.           Cambridge University (England).
  14790.  
  14791.     shme
  14792.           Berkeley, GeoWorks, Ingres.  Pronounced /shme/ with a short e.
  14793.  
  14794.     spam
  14795.           {Python} programmers.
  14796.  
  14797.     snork
  14798.           Brown University, early 1970s.
  14799.  
  14800.     {foo}, {bar}, zot
  14801.           Helsinki University of Technology, Finland.
  14802.  
  14803.     blarg, wibble
  14804.           New Zealand.
  14805.  
  14806.     toto, titi, tata, tutu
  14807.           France.
  14808.  
  14809.     pippo, pluto, paperino
  14810.           Italy.  Pippo /pee'po/ and Paperino /pa-per-ee'-no/ are the
  14811.           Italian names for Goofy and Donald Duck.
  14812.  
  14813.     aap, noot, mies
  14814.           The Netherlands.  These are the first words a child used to
  14815.           learn to spell on a Dutch spelling board.
  14816.  
  14817.    Of all these, only `foo' and `bar' are universal (and {baz}
  14818. nearly so).  The compounds {foobar} and `foobaz' also enjoy    very
  14819. wide currency.
  14820.  
  14821.    Some jargon terms are also used as metasyntactic names; {barf}
  14822. and {mumble}, for example.  See also {{Commonwealth Hackish}}    for
  14823. discussion of numerous metasyntactic variables found in Great
  14824. Britain and the Commonwealth.
  14825.  
  14826.    :MFTL: /M-F-T-L/  [abbreviation: `My Favorite Toy Language']    1.
  14827. adj.  Describes a talk on a programming language design that    is
  14828. heavy on the syntax (with lots of BNF), sometimes even talks    about
  14829. semantics (e.g., type systems), but rarely, if ever, has any    content
  14830. (see {content-free}).  More broadly applied to talks --    even when
  14831. the topic is not a programming language -- in which the    subject
  14832. matter is gone into in unnecessary and meticulous detail at    the
  14833. sacrifice of any conceptual content.  "Well, it was a typical    MFTL
  14834. talk".  2. n. Describes a language about which the    developers are
  14835. passionate (often to the point of proselytic zeal)    but no one else
  14836. cares about.  Applied to the language by those    outside the
  14837. originating group.  "He cornered me about type    resolution in his
  14838. MFTL."
  14839.  
  14840.    The first great goal in the mind of the designer of an MFTL is
  14841. usually to write a compiler for it, then bootstrap the design away
  14842. from contamination by lesser languages by writing a compiler for it
  14843. in itself.  Thus, the standard put-down question at an MFTL talk is
  14844. "Has it been used for anything besides its own compiler?"  On the
  14845. other hand, a (compiled) language that cannot even be used to write
  14846. its own compiler is beneath contempt.  (The qualification has    become
  14847. necessary because of the increasing popularity of    interpreted
  14848. languages like {Perl} and {Python}. See    {break-even point}.
  14849.  
  14850.    (On a related note, Doug McIlroy once proposed a test of the
  14851. generality and utility of a language and the operating system under
  14852. which it is compiled: "Is the output of a FORTRAN program    acceptable
  14853. as input to the FORTRAN compiler?"  In other words, can    you write
  14854. programs that write programs? (See {toolsmith}.)     Alarming numbers
  14855. of (language, OS) pairs fail this test,    particularly when the
  14856. language is FORTRAN; aficionados are quick to    point out that {Unix}
  14857. (even using FORTRAN) passes it handily.     That the test could ever be
  14858. failed is only surprising to those who    have had the good fortune to
  14859. have worked only under modern systems    which lack OS-supported and
  14860. -imposed "file types".)
  14861.  
  14862.    :mickey: n.  The resolution unit of mouse movement.  It has    been
  14863. suggested that the `disney' will become a benchmark unit for
  14864. animation graphics performance.
  14865.  
  14866.    :mickey mouse program: n.  North American equivalent of a    {noddy}
  14867. (that is, trivial) program.  Doesn't necessarily have    the belittling
  14868. connotations of mainstream slang "Oh, that's just    mickey mouse
  14869. stuff!"; sometimes trivial programs can be very    useful.
  14870.  
  14871.    :micro-: pref.  1. Very small; this is the root of its use as    a
  14872. quantifier prefix.  2. A quantifier prefix, calling for
  14873. multiplication by 10^(-6) (see {{quantifiers}}).     Neither of these
  14874. uses is peculiar to hackers, but hackers tend to    fling them both
  14875. around rather more freely than is countenanced in    standard English.
  14876. It is recorded, for example, that one CS    professor used to
  14877. characterize the standard length of his lectures    as a microcentury
  14878. -- that is, about 52.6 minutes (see also    {attoparsec}, {nanoacre},
  14879. and especially    {microfortnight}).  3. Personal or human-scale --
  14880. that is,    capable of being maintained or comprehended or manipulated
  14881. by one    human being.  This sense is generalized from `microcomputer',
  14882.   and is esp. used in contrast with `macro-' (the corresponding
  14883. Greek prefix meaning `large').  4. Local as opposed to global (or
  14884. {macro-}).  Thus a hacker might say that buying a smaller car to
  14885. reduce pollution only solves a microproblem; the macroproblem of
  14886. getting to work might be better solved by using mass transit,    moving
  14887. to within walking distance, or (best of all) telecommuting.
  14888.  
  14889.    :MicroDroid: n.  [Usenet] A Microsoft employee, esp. one who
  14890. posts to various operating-system advocacy newsgroups. MicroDroids
  14891. post follow-ups to any messages critical of Microsoft's operating
  14892. systems, and often end up sounding like visiting Mormon
  14893. missionaries. See also {astroturfing}; compare {microserf}.
  14894.  
  14895.    :microfloppies: n.  3.5-inch floppies, as opposed to 5.25-inch
  14896. {vanilla} or mini-floppies and the now-obsolete 8-inch variety.
  14897. This term may be headed for obsolescence as 5.25-inchers pass out    of
  14898. use, only to be revived if anybody floats a sub-3-inch floppy
  14899. standard.  See {stiffy}, {minifloppies}.
  14900.  
  14901.    :microfortnight: n.  1/1000000 of the fundamental unit of time    in
  14902. the Furlong/Firkin/Fortnight system of measurement; 1.2096 sec.     (A
  14903. furlong is 1/8th of a mile; a firkin is 1/4th of a barrel; the    mass
  14904. unit of the system is taken to be a firkin of water).  The VMS
  14905. operating system has a lot of tuning parameters that you can set
  14906. with the SYSGEN utility, and one of these is TIMEPROMPTWAIT, the
  14907. time the system will wait for an operator to set the correct date
  14908. and time at boot if it realizes that the current value is bogus.
  14909. This time is specified in microfortnights!
  14910.  
  14911.    Multiple uses of the millifortnight (about 20 minutes) and
  14912. {nanofortnight} have also been reported.
  14913.  
  14914.    :microLenat: /mi:`-kroh-len'-*t/ n.  The unit of {bogosity}.
  14915. consensus is that this is the largest unit practical for everyday
  14916. use.  The microLenat, originally invented by David Jefferson, was
  14917. promulgated as an attack against noted computer scientist Doug    Lenat
  14918. by a {tenured graduate student} at CMU.  Doug had failed    the student
  14919. on an important exam because the student gave only "AI    is bogus" as
  14920. his answer to the questions.  The slur is generally    considered
  14921. unmerited, but it has become a running gag nevertheless.     Some of
  14922. Doug's friends argue that _of course_ a microLenat is    bogus, since
  14923. it is only one millionth of a Lenat.  Others have    suggested that the
  14924. unit should be redesignated after the grad    student, as the microReid.
  14925.  
  14926.    :microReid: /mi:'kroh-reed/ n.  See {microLenat}.
  14927.  
  14928.    :microserf: /mi:'kro-s*rf/  [popularized, though not    originated,
  14929. by Douglas Copeland's book "Microserfs"] A    programmer at
  14930. {Microsoft}, especially a low-level coder with    little chance of fame
  14931. or fortune. Compare {MicroDroid}.
  14932.  
  14933.    :Microsloth Windows: /mi:'kroh-sloth` win'dohz/ n.     (Variants
  14934. combine {Microshift, Macroshaft, Microsuck} with    {Windoze, WinDOS}.
  14935. Hackerism(s) for `Microsoft Windows'.  A    thirty-two bit extension
  14936. and graphical shell to a sixteen bit patch    to an eight bit operating
  14937. system originally coded for a four bit    microprocessor which was
  14938. written by a two-bit company that can't    stand one bit of
  14939. competition.  Also just called `Windoze', with    the implication that
  14940. you can fall asleep waiting for it to do    anything; the latter term
  14941. is extremely common on Usenet.  See    {Black Screen of Death} and
  14942. {Blue Screen of Death}; compare    {X}, {sun-stools}.
  14943.  
  14944.    :Microsoft:   The new {Evil Empire} (the old one was    {IBM}).  The
  14945. basic complaints are, as formerly with IBM, that    (a) their system
  14946. designs are horrible botches, (b) we can't get    source to fix them,
  14947. and (c) they throw their weight around a lot.     See also {Halloween
  14948. Documents}.
  14949.  
  14950.    :middle-endian: adj.  Not {big-endian} or    {little-endian}.  Used
  14951. of perverse byte orders such as 3-4-1-2    or 2-1-4-3, occasionally
  14952. found in the packed-decimal formats of    minicomputer manufacturers
  14953. who shall remain nameless.  See {NUXI    problem}.  Non-US hackers use
  14954. this term to describe the American    mm/dd/yy style of writing dates
  14955. (Europeans write little-endian    dd/mm/yy, and Japanese use big-endian
  14956. yy/mm/dd for Western dates).
  14957.  
  14958.    :milliLampson: /mil'*-lamp`sn/ n.  A unit of talking speed,
  14959. abbreviated mL.  Most people run about 200 milliLampsons.  The
  14960. eponymous Butler Lampson (a CS theorist and systems implementor
  14961. highly regarded among hackers) goes at 1000.  A few people speak
  14962. faster.  This unit is sometimes used to compare the (sometimes
  14963. widely disparate) rates at which people can generate ideas and
  14964. actually emit them in speech.  For example, noted computer    architect
  14965. C. Gordon Bell (designer of the PDP-11) is said, with    some awe, to
  14966. think at about 1200 mL but only talk at about 300; he    is frequently
  14967. reduced to fragments of sentences as his mouth tries    to keep up with
  14968. his speeding brain.
  14969.  
  14970.    :minifloppies: n.,obs.  5.25-inch {vanilla} floppy    disks, as
  14971. opposed to 3.5-inch or {microfloppies} and the    now-obsolescent
  14972. 8-inch variety.  At one time, this term was a    trademark of Shugart
  14973. Associates for their SA-400 minifloppy drive.     Nobody paid any
  14974. attention.  See {stiffy}.
  14975.  
  14976.    :MIPS: /mips/ n.  [abbreviation] 1. A measure of computing    speed;
  14977. formally, `Million Instructions Per Second' (that's    10^6 per second,
  14978. not 2^(20)!); often rendered by    hackers as `Meaningless Indication
  14979. of Processor Speed' or in    other unflattering ways.  This joke
  14980. expresses an attitude nearly universal    among hackers about the value
  14981. of most {benchmark} claims, said    attitude being one of the great
  14982. cultural divides between hackers    and {marketroid}s.  The singular is
  14983. sometimes `1 MIP' even    though this is clearly etymologically wrong.
  14984. See also {KIPS}    and {GIPS}.  2. Computers, especially large
  14985. computers,    considered abstractly as sources of {computron}s.  "This
  14986. is    just a workstation; the heavy MIPS are hidden in the basement."
  14987.  3. The corporate name of a particular RISC-chip company; among
  14988. other things, they designed the processor chips used in {DEC}'s 3100
  14989. workstation series.  4. Acronym for `Meaningless Information per
  14990. Second' (a joke, prob. from sense 1).
  14991.  
  14992.    :misbug: /mis-buhg/ n.  [MIT; rare (like its referent)]    An
  14993. unintended property of a program that turns out to be useful;
  14994. something that should have been a {bug} but turns out to be a
  14995. {feature}.  Compare {green lightning}.  See {miswart}.
  14996.  
  14997.    :misfeature: /mis-fee'chr/ or /mis'fee`chr/ n.     [common] A
  14998. feature that eventually causes lossage, possibly because    it is not
  14999. adequate for a new situation that has evolved.  Since it    results
  15000. from a deliberate and properly implemented feature, a    misfeature is
  15001. not a bug.  Nor is it a simple unforeseen side    effect; the term
  15002. implies that the feature in question was carefully    planned, but its
  15003. long-term consequences were not accurately or    adequately predicted
  15004. (which is quite different from not having    thought ahead at all).  A
  15005. misfeature can be a particularly stubborn    problem to resolve,
  15006. because fixing it usually involves a    substantial philosophical
  15007. change to the structure of the system    involved.
  15008.  
  15009.    Many misfeatures (especially in user-interface design) arise
  15010. because the designers/implementors mistake their personal tastes    for
  15011. laws of nature.  Often a former feature becomes a misfeature    because
  15012. trade-offs were made whose parameters subsequently change    (possibly
  15013. only in the judgment of the implementors).  "Well, yeah,    it is kind
  15014. of a misfeature that file names are limited to six    characters, but
  15015. the original implementors wanted to save directory    space and we're
  15016. stuck with it for now."
  15017.  
  15018.    :Missed'em-five: n.  Pejorative hackerism for AT&T System V    Unix,
  15019. generally used by {BSD} partisans in a bigoted mood.  (The    synonym
  15020. `SysVile' is also encountered.)  See {software bloat},    {Berzerkeley}.
  15021.  
  15022.    :missile address: n.  See {ICBM address}.
  15023.  
  15024.    :miswart: /mis-wort/ n.  [from {wart} by analogy with    {misbug}] A
  15025. {feature} that superficially appears to be a    {wart} but has been
  15026. determined to be the {Right Thing}.  For    example, in some versions
  15027. of the {EMACS} text editor, the    `transpose characters' command
  15028. exchanges the character under the    cursor with the one before it on
  15029. the screen, _except_ when the    cursor is at the end of a line, in
  15030. which case the two characters    before the cursor are exchanged.
  15031. While this behavior is perhaps    surprising, and certainly
  15032. inconsistent, it has been found through    extensive experimentation to
  15033. be what most users want.  This feature    is a miswart.
  15034.  
  15035.    :MMF: //  [Usenet; common] Abbreviation: "Make Money    Fast".
  15036. Refers to any kind of scheme which promises participants    large
  15037. profits with little or no risk or effort.  Typically, it is a    some
  15038. kind of multi-level marketing operation which involves    recruiting
  15039. more members, or an illegal pyramid scam.  The term is    also used to
  15040. refer to any kind of spam which promotes this. For    more information,
  15041. see the    Make Money Fast Myth Page
  15042. (http://www.stopspam.org/usenet/mmf/).
  15043.  
  15044.    :mobo: /moh'bo/  Written and (rarely) spoken contraction of
  15045. "motherboard"
  15046.  
  15047.    :moby: /moh'bee/  [MIT: seems to have been in use among    model
  15048. railroad fans years ago.  Derived from Melville's "Moby    Dick" (some
  15049. say from `Moby Pickle'). Now common.] 1. adj.     Large, immense,
  15050. complex, impressive.  "A Saturn V rocket is a    truly moby frob."
  15051. "Some MIT undergrads pulled off a moby hack at    the Harvard-Yale
  15052. game."  (See {Appendix A} for discussion.)     2. n. obs. The maximum
  15053. address space of a machine (see below).     For a 680[234]0 or VAX or
  15054. most modern 32-bit architectures, it is    4,294,967,296 8-bit bytes (4
  15055. gigabytes).  3. A title of address    (never of third-person
  15056. reference), usually used to show admiration,    respect, and/or
  15057. friendliness to a competent hacker.  "Greetings,    moby Dave.  How's
  15058. that address-book thing for the Mac going?"     4. adj. In backgammon,
  15059. doubles on the dice, as in `moby    sixes', `moby ones', etc.  Compare
  15060. this with {bignum} (sense    3): double sixes are both bignums and moby
  15061. sixes, but moby ones are    not bignums (the use of `moby' to describe
  15062. double ones is    sarcastic).  Standard emphatic forms: `Moby foo',
  15063. `moby win',    `moby loss'.  `Foby moo': a spoonerism due to Richard
  15064. Greenblatt.  5. The largest available unit of something which is
  15065. available in discrete increments.  Thus, ordering a "moby Coke"    at
  15066. the local fast-food joint is not just a request for a large    Coke,
  15067. it's an explicit request for the largest size they sell.
  15068.  
  15069.    This term entered hackerdom with the Fabritek 256K memory added to
  15070. the MIT AI PDP-6 machine, which was considered unimaginably huge
  15071. when it was installed in the 1960s (at a time when a more typical
  15072. memory size for a timesharing system was 72 kilobytes).  Thus, a
  15073. moby is classically 256K 36-bit words, the size of a PDP-6 or    PDP-10
  15074. moby.  Back when address registers were narrow the term was    more
  15075. generally useful, because when a computer had virtual memory
  15076. mapping, it might actually have more physical memory attached to it
  15077. than any one program could access directly.  One could then say
  15078. "This computer has 6 mobies" meaning that the ratio of physical
  15079. memory to address space is 6, without having to say specifically    how
  15080. much memory there actually is.  That in turn implied that the
  15081. computer could timeshare six `full-sized' programs without having    to
  15082. swap programs between memory and disk.
  15083.  
  15084.    Nowadays the low cost of processor logic means that address spaces
  15085. are usually larger than the most physical memory you can cram onto
  15086. a machine, so most systems have much _less_ than one    theoretical
  15087. `native' moby of {core}.  Also, more modern    memory-management
  15088. techniques (esp. paging) make the `moby    count' less significant.
  15089. However, there is one series of    widely-used chips for which the term
  15090. could stand to be revived --    the Intel 8088 and 80286 with their
  15091. incredibly {brain-damaged}    segmented-memory designs.  On these, a
  15092. `moby' would be the    1-megabyte address span of a segment/offset pair
  15093. (by coincidence, a    PDP-10 moby was exactly 1 megabyte of 9-bit
  15094. bytes).
  15095.  
  15096.    :mockingbird: n.  Software that intercepts communications
  15097. (especially login transactions) between users and hosts and    provides
  15098. system-like responses to the users while saving their    responses
  15099. (especially account IDs and passwords).  A special case    of {Trojan
  15100. horse}.
  15101.  
  15102.    :mod: vt.,n.  [very common] 1. Short for `modify' or
  15103. `modification'.  Very commonly used -- in fact the full terms    are
  15104. considered markers that one is being formal.  The plural    `mods' is
  15105. used esp. with reference to bug fixes or minor design    changes in
  15106. hardware or software, most esp. with respect to    {patch} sets or a
  15107. {diff}.  2. Short for {modulo} but used    _only_ for its techspeak
  15108. sense.
  15109.  
  15110.    :mode: n.  [common] A general state, usually used with an
  15111. adjective describing the state.  Use of the word `mode' rather    than
  15112. `state' implies that the state is extended over time, and    probably
  15113. also that some activity characteristic of that state is    being
  15114. carried out. "No time to hack; I'm in thesis mode."  In its    jargon
  15115. sense, `mode' is most often attributed to people, though    it is
  15116. sometimes applied to programs and inanimate objects. In    particular,
  15117. see {hack mode}, {day mode}, {night mode},    {demo mode}, {fireworks
  15118. mode}, and {yoyo mode}; also    {talk mode}.
  15119.  
  15120.    One also often hears the verbs `enable' and `disable' used in
  15121. connection with jargon modes.  Thus, for example, a sillier way of
  15122. saying "I'm going to crash" is "I'm going to enable crash mode    now".
  15123. One might also hear a request to "disable flame mode,    please".
  15124.  
  15125.    In a usage much closer to techspeak, a mode is a special state that
  15126.  certain user interfaces must pass into in order to perform certain
  15127. functions.  For example, in order to insert characters into a
  15128. document in the Unix editor `vi', one must type the "i" key,    which
  15129. invokes the "Insert" command.  The effect of this command    is to put
  15130. vi into "insert mode", in which typing the "i" key    has a quite
  15131. different effect (to wit, it inserts an "i" into the    document).  One
  15132. must then hit another special key, "ESC", in    order to leave "insert
  15133. mode".  Nowadays, modeful interfaces are    generally considered
  15134. {losing} but survive in quite a few widely    used tools built in less
  15135. enlightened times.
  15136.  
  15137.    :mode bit: n.  [common] A {flag}, usually in hardware,    that
  15138. selects between two (usually quite different) modes of    operation.
  15139. The connotations are different from {flag} bit in    that mode bits are
  15140. mainly written during a boot or set-up phase,    are seldom explicitly
  15141. read, and seldom change over the lifetime of    an ordinary program.
  15142. The classic example was the EBCDIC-vs.-ASCII    bit (#12) of the
  15143. Program Status Word of the IBM 360.
  15144.  
  15145.    :modulo: /mod'yu-loh/ prep.  Except for.  An    overgeneralization
  15146. of mathematical terminology; one can consider    saying that 4 equals
  15147. 22 except for the 9s (4 = 22 mod 9).     "Well, LISP seems to work okay
  15148. now, modulo that {GC} bug."     "I feel fine today modulo a slight
  15149. headache."
  15150.  
  15151.    :molly-guard: /mol'ee-gard/ n.  [University of Illinois] A    shield
  15152. to prevent tripping of some {Big Red Switch} by clumsy or    ignorant
  15153. hands.  Originally used of the plexiglass covers    improvised for the
  15154. BRS on an IBM 4341 after a programmer's toddler    daughter (named
  15155. Molly) frobbed it twice in one day.  Later    generalized to covers
  15156. over stop/reset switches on disk drives and    networking equipment.
  15157.  
  15158.    :Mongolian Hordes technique: n.  [poss. from the Sixties
  15159. counterculture expression `Mongolian clusterfuck' for a public    orgy]
  15160. Development by {gang bang}.  Implies that large numbers of
  15161. inexperienced programmers are being put on a job better performed    by
  15162. a few skilled ones (but see {bazaar}).  Also called    `Chinese Army
  15163. technique'; see also {Brooks's Law}.
  15164.  
  15165.    :monkey up: vt.  To hack together hardware for a particular    task,
  15166. especially a one-shot job.  Connotes an extremely {crufty}    and
  15167. consciously temporary solution.  Compare {hack up},    {kluge up},
  15168. {cruft together}.
  15169.  
  15170.    :monkey, scratch: n.  See {scratch monkey}.
  15171.  
  15172.    :monstrosity:  1. n. A ridiculously {elephantine} program    or
  15173. system, esp. one that is buggy or only marginally functional.     2.
  15174. adj. The quality of being monstrous (see `Overgeneralization' in    the
  15175. discussion of jargonification).  See also {baroque}.
  15176.  
  15177.    :monty: /mon'tee/ n.  1. [US Geological Survey] A    program with a
  15178. ludicrously complex user interface written to    perform extremely
  15179. trivial tasks.  An example would be a    menu-driven, button clicking,
  15180. pulldown, pop-up windows program for    listing directories.  The
  15181. original monty was an infamous    weather-reporting program, Monty the
  15182. Amazing Weather Man, written    at the USGS.  Monty had a widget-packed
  15183. X-window interface with    over 200 buttons; and all monty actually
  15184. _did_ was {FTP}    files off the network.  2. [Great Britain; commonly
  15185. capitalized as    `Monty' or as `the Full Monty'] 16 megabytes of
  15186. memory, when    fitted to an IBM-PC or compatible.  A standard
  15187. PC-compatible using    the AT- or ISA-bus with a normal BIOS cannot
  15188. access more than 16    megabytes of RAM.  Generally used of a PC, Unix
  15189. workstation,    etc. to mean `fully populated with' memory, disk-space
  15190. or some    other desirable resource.  This usage may be related to a TV
  15191.   commercial for Del Monte fruit juice, in which one of the
  15192. characters insisted on "the full Del Monte"; but see the World    Wide
  15193. Words article    "The Full Monty"
  15194. (http://clever.net/quinion/words/articles/monty.htm) for discussion of
  15195. the rather complex etymology that    may lie behind this.  Compare
  15196. American {moby}.
  15197.  
  15198.    :Moof: /moof/  [Macintosh users] 1. n. The call of a
  15199. semi-legendary creature, properly called the {dogcow}.  (Some
  15200. previous versions of this entry claimed, incorrectly, that Moof was
  15201. the name of the _creature_.) 2. adj. Used to flag software    that's a
  15202. hack, something untested and on the edge.  On one Apple    CD-ROM,
  15203. certain folders such as "Tools & Apps (Moof!)" and    "Development
  15204. Platforms (Moof!)", are so marked to indicate that    they contain
  15205. software not fully tested or sanctioned by the powers    that be.  When
  15206. you open these folders you cross the boundary into    hackerland.  3.
  15207. v. On the Microsoft Network, the term `moof' has    gained popularity
  15208. as a verb meaning `to be suddenly disconnected by    the system'.  One
  15209. might say "I got moofed".
  15210.  
  15211.    :Moore's Law: /morz law/ prov.  The observation that the    logic
  15212. density of silicon integrated circuits has closely followed    the
  15213. curve (bits per square inch)  = 2^(t - 1962) where t    is time in
  15214. years; that is, the amount of information storable on a    given amount
  15215. of silicon has roughly doubled every year since the    technology was
  15216. invented.  This relation, first uttered in 1964 by    semiconductor
  15217. engineer Gordon Moore (who co-founded Intel four    years later) held
  15218. until the late 1970s, at which point the doubling    period slowed to
  15219. 18 months.  The doubling period remained at that    value through time
  15220. of writing (late 1999).  Moore's Law is    apparently self-fulfilling.
  15221. The implication is that somebody,    somewhere is going to be able to
  15222. build a better chip then you if    you rest on your laurels, so you'd
  15223. better start pushing hard on the    problem. See also {Parkinson's Law
  15224. of Data}.
  15225.  
  15226.    :moose call: n.  See {whalesong}.
  15227.  
  15228.    :moria: /mor'ee-*/ n.  Like {nethack} and {rogue}, one    of the
  15229. large PD Dungeons-and-Dragons-like simulation games,    available for a
  15230. wide range of machines and operating systems.  The    name is from
  15231. Tolkien's Mines of Moria; compare {elder days},    {elvish}.  The game
  15232. is extremely addictive and a major consumer    of time better used for
  15233. hacking.
  15234.  
  15235.    :MOTAS: /moh-tahz/ n.  [Usenet: Member Of The Appropriate    Sex,
  15236. after {MOTOS} and {MOTSS}] A potential or (less often)    actual sex
  15237. partner.  See also {SO}.
  15238.  
  15239.    :MOTOS: /moh-tohs/ n.  [acronym from the 1970 U.S. census    forms
  15240. via Usenet: Member Of The Opposite Sex] A potential or (less    often)
  15241. actual sex partner.  See {MOTAS}, {MOTSS}, {SO}.     Less common than
  15242. MOTSS or {MOTAS}, which has largely displaced    it.
  15243.  
  15244.    :MOTSS: /mots/ or /M-O-T-S-S/ n.  [from the 1970    U.S. census
  15245. forms via Usenet] Member Of The Same Sex, esp. one    considered as a
  15246. possible sexual partner.  The gay-issues newsgroup    on Usenet is
  15247. called soc.motss.  See {MOTOS} and {MOTAS},    which derive from it.
  15248. See also {SO}.
  15249.  
  15250.    :mouse ahead: vi.  Point-and-click analog of `type ahead'.     To
  15251. manipulate a computer's pointing device (almost always a mouse    in
  15252. this usage, but not necessarily) and its selection or command
  15253. buttons before a computer program is ready to accept such input, in
  15254. anticipation of the program accepting the input.  Handling this
  15255. properly is rare, but it can help make a {WIMP environment} much
  15256. more usable, assuming the users are familiar with the behavior of
  15257. the user interface.
  15258.  
  15259.    :mouse around: vi.  To explore public portions of a large    system,
  15260. esp. a network such as Internet via {FTP} or    {TELNET}, looking for
  15261. interesting stuff to {snarf}.
  15262.  
  15263.    :mouse belt: n.  See {rat belt}.
  15264.  
  15265.    :mouse droppings: n.  [MS-DOS] Pixels (usually single) that    are
  15266. not properly restored when the mouse pointer moves away from a
  15267. particular location on the screen, producing the appearance that    the
  15268. mouse pointer has left droppings behind.  The major causes for    this
  15269. problem are programs that write to the screen memory    corresponding
  15270. to the mouse pointer's current location without    hiding the mouse
  15271. pointer first, and mouse drivers that do not quite    support the
  15272. graphics mode in use.
  15273.  
  15274.    :mouse elbow: n.  A tennis-elbow-like fatigue syndrome    resulting
  15275. from excessive use of a {WIMP environment}.     Similarly, `mouse
  15276. shoulder'; GLS reports that he used to get this    a lot before he
  15277. taught himself to be ambimoustrous.
  15278.  
  15279.    :mouso: /mow'soh/ n.  [by analogy with `typo'] An error in    mouse
  15280. usage resulting in an inappropriate selection or graphic    garbage on
  15281. the screen.  Compare {thinko}, {braino}.
  15282.  
  15283.    :MS-DOS:: /M-S-dos/ n.  [MicroSoft Disk Operating System] A
  15284. {clone} of {{CP/M}} for the 8088 crufted together in 6 weeks by
  15285. hacker Tim Paterson at Seattle Computer Products, who called the
  15286. original QDOS (Quick and Dirty Operating System) and is said to    have
  15287. regretted it ever since.  Microsoft licensed QDOS order to    have
  15288. something to demo for IBM on time, and the rest is history.
  15289. Numerous features, including vaguely Unix-like but rather broken
  15290. support for subdirectories, I/O redirection, and pipelines, were
  15291. hacked into Microsoft's 2.0 and subsequent versions; as a result,
  15292. there are two or more incompatible versions of many system calls,
  15293. and MS-DOS programmers can never agree on basic things like what
  15294. character to use as an option switch or whether to be
  15295. case-sensitive.  The resulting appalling mess is now the
  15296. highest-unit-volume OS in history.  Often known simply as DOS,    which
  15297. annoys people familiar with other similarly abbreviated    operating
  15298. systems (the name goes back to the mid-1960s, when it was    attached
  15299. to IBM's first disk operating system for the 360).  The    name further
  15300. annoys those who know what the term {operating    system} does (or
  15301. ought to) connote; DOS is more properly a set of    relatively simple
  15302. interrupt services.  Some people like to    pronounce DOS like "dose",
  15303. as in "I don't work on dose, man!",    or to compare it to a dose of
  15304. brain-damaging drugs (a slogan button    in wide circulation among
  15305. hackers exhorts: "MS-DOS: Just say    No!").  See {mess-dos},
  15306. {ill-behaved}.
  15307.  
  15308.    :mu: /moo/  The correct answer to the classic trick question
  15309. "Have you stopped beating your wife yet?".  Assuming that you    have
  15310. no wife or you have never beaten your wife, the answer "yes"    is
  15311. wrong because it implies that you used to beat your wife and    then
  15312. stopped, but "no" is worse because it suggests that you have    one and
  15313. are still beating her.  According to various Discordians    and Douglas
  15314. Hofstadter the correct answer is usually "mu", a    Japanese word
  15315. alleged to mean "Your question cannot be answered    because it depends
  15316. on incorrect assumptions".  Hackers tend to be    sensitive to logical
  15317. inadequacies in language, and many have    adopted this suggestion with
  15318. enthusiasm.  The word `mu' is    actually from Chinese, meaning
  15319. `nothing'; it is used in    mainstream Japanese in that sense, but
  15320. native speakers do not    recognize the Discordian question-denying
  15321. use.  It almost certainly    derives from overgeneralization of the
  15322. answer in the following    well-known Rinzei Zen {koan}:
  15323.  
  15324.      A monk asked Joshu, "Does a dog have the Buddha nature?"  Joshu
  15325.      retorted, "Mu!"
  15326.  
  15327. See also {has the X nature}, {Some AI Koans}, and Douglas
  15328. Hofstadter's "Go"del, Escher, Bach: An Eternal Golden Braid"
  15329. (pointer in the {Bibliography} in Appendix C.
  15330.  
  15331.    :MUD: /muhd/ n.  [acronym, Multi-User Dungeon; alt.     Multi-User
  15332. Dimension] 1.  A class of {virtual reality}    experiments accessible
  15333. via the Internet.  These are real-time chat    forums with structure;
  15334. they have multiple `locations' like an    adventure game, and may
  15335. include combat, traps, puzzles, magic, a    simple economic system, and
  15336. the capability for characters to build    more structure onto the
  15337. database that represents the existing    world.  2. vi. To play a MUD.
  15338. The acronym MUD is often lowercased    and/or verbed; thus, one may
  15339. speak of `going mudding', etc.
  15340.  
  15341.    Historically, MUDs (and their more recent progeny with names of MU-
  15342.  form) derive from a hack by Richard Bartle and Roy Trubshaw on the
  15343. University of Essex's DEC-10 in the early 1980s; descendants of    that
  15344. game still exist today and are sometimes generically called
  15345. BartleMUDs.  There is a widespread myth (repeated,    unfortunately, by
  15346. earlier versions of this lexicon) that the name    MUD was trademarked
  15347. to the commercial MUD run by Bartle on British    Telecom (the motto:
  15348. "You haven't _lived_ 'til you've    _died_ on MUD!"); however, this is
  15349. false -- Richard Bartle    explicitly placed `MUD' in the public domain
  15350. in 1985.  BT was upset    at this, as they had already printed
  15351. trademark claims on some maps    and posters, which were released and
  15352. created the myth.
  15353.  
  15354.    Students on the European academic networks quickly improved on the
  15355. MUD concept, spawning several new MUDs (VAXMUD, AberMUD, LPMUD).
  15356. Many of these had associated bulletin-board systems for social
  15357. interaction.  Because these had an image as `research' they    often
  15358. survived administrative hostility to BBSs in general.  This,
  15359. together with the fact that Usenet feeds were often spotty and
  15360. difficult to get in the U.K., made the MUDs major foci of hackish
  15361. social interaction there.
  15362.  
  15363.    AberMUD and other variants crossed the Atlantic around 1988 and
  15364. quickly gained popularity in the U.S.; they became nuclei for large
  15365. hacker communities with only loose ties to traditional hackerdom
  15366. (some observers see parallels with the growth of Usenet in the    early
  15367. 1980s).  The second wave of MUDs (TinyMUD and variants)    tended to
  15368. emphasize social interaction, puzzles, and cooperative
  15369. world-building as opposed to combat and competition (in writing,
  15370. these social MUDs are sometimes referred to as `MU*', with `MUD'
  15371. implicitly reserved for the more game-oriented ones).  By 1991,    over
  15372. 50% of MUD sites were of a third major variety, LPMUD, which
  15373. synthesizes the combat/puzzle aspects of AberMUD and older systems
  15374. with the extensibility of TinyMud.  In 1996 the cutting edge of the
  15375. technology is Pavel Curtis's MOO, even more extensible using a
  15376. built-in object-oriented language.  The trend toward greater
  15377. programmability and flexibility will doubtless continue.
  15378.  
  15379.    The state of the art in MUD design is still moving very rapidly,
  15380. with new simulation designs appearing (seemingly) every month.
  15381. Around 1991 there was an unsuccessful movement to deprecate the    term
  15382. {MUD} itself, as newer designs exhibit an exploding variety    of names
  15383. corresponding to the different simulation styles being    explored.  It
  15384. survived.  See also {bonk/oif}, {FOD},    {link-dead}, {mudhead}, {talk
  15385. mode}.
  15386.  
  15387.    :muddie: n.  Syn. {mudhead}.  More common in Great Britain,
  15388. possibly because system administrators there like to mutter    "bloody
  15389. muddies" when annoyed at the species.
  15390.  
  15391.    :mudhead: n.  Commonly used to refer to a {MUD} player who    eats,
  15392. sleeps, and breathes MUD.  Mudheads have been known to fail    their
  15393. degrees, drop out, etc., with the consolation, however, that    they
  15394. made wizard level.  When encountered in person, on a MUD, or    in a
  15395. chat system, all a mudhead will talk about is three topics:    the
  15396. tactic, character, or wizard that is supposedly always unfairly
  15397. stopping him/her from becoming a wizard or beating a favorite MUD;
  15398. why the specific game he/she has experience with is so much better
  15399. than any other; and the MUD he or she is writing or going to write
  15400. because his/her design ideas are so much better than in any    existing
  15401. MUD.  See also {wannabee}.
  15402.  
  15403.    To the anthropologically literate, this term may recall the
  15404. Zuni/Hopi legend of the mudheads or `koyemshi', mythical    half-formed
  15405. children of an unnatural union.  Figures representing    them act as
  15406. clowns in Zuni sacred ceremonies.  Others may recall    the `High
  15407. School Madness' sequence from the Firesign Theatre album    "Don't
  15408. Crush That Dwarf, Hand Me the Pliers", in which there    is a character
  15409. named "Mudhead".
  15410.  
  15411.    :multician: /muhl-ti'shn/ n.  [coined at Honeywell,    ca. 1970]
  15412. Competent user of {{Multics}}.  Perhaps oddly, no one    has ever
  15413. promoted the analogous `Unician'.
  15414.  
  15415.    :Multics:: /muhl'tiks/ n.  [from "MULTiplexed    Information and
  15416. Computing Service"] An early time-sharing    {operating system}
  15417. co-designed by a consortium including MIT,    GE, and Bell Laboratories
  15418. as a successor to {CTSS}.  The design    was first presented in 1965,
  15419. planned for operation in 1967,    first operational in 1969, and took
  15420. several more years to achieve    respectable performance and stability.
  15421.  
  15422.    Multics was very innovative for its time -- among other things, it
  15423. provided a hierarchical file system with access control on
  15424. individual files and introduced the idea of treating all devices
  15425. uniformly as special files.  It was also the first OS to run on a
  15426. symmetric multiprocessor, and the only general-purpose system to be
  15427. awarded a B2 security rating by the NSA (see {Orange Book}).
  15428.  
  15429.    Bell Labs left the development effort in 1969 after judging that
  15430. {second-system effect} had bloated Multics to the point of    practical
  15431. unusability.  Honeywell commercialized Multics in    1972 after buying
  15432. out GE's computer group, but it was never very    successful: at its
  15433. peak in the 1980s, there were between 75 and 100    Multics sites, each
  15434. a multi-million dollar mainframe.
  15435.  
  15436.    One of the former Multics developers from Bell Labs was Ken
  15437. Thompson, and {Unix} deliberately carried through and extended    many
  15438. of Multics' design ideas; indeed, Thompson described the very    name
  15439. `Unix' as `a weak pun on Multics'.  For this and other    reasons,
  15440. aspects of the Multics design remain a topic of occasional    debate
  15441. among hackers.  See also {brain-damaged} and    {GCOS}.
  15442.  
  15443.    MIT ended its development association with Multics in 1977.
  15444. Honeywell sold its computer business to Bull in the mid 80s, and
  15445. development on Multics was stopped in 1988.  Four Multics sites    were
  15446. known to be still in use as late as 1998.  There is a Multics    page at
  15447.   `http://www.stratus.com/pub/vos/multics/tvv/multics.html'.
  15448.  
  15449.    :multitask: n.  Often used of humans in the same meaning it    has
  15450. for computers, to describe a person doing several things at    once
  15451. (but see {thrash}).  The term `multiplex', from    communications
  15452. technology (meaning to handle more than one channel    at the same
  15453. time), is used similarly.
  15454.  
  15455.    :mumblage: /muhm'bl*j/ n.  The topic of one's mumbling (see
  15456. {mumble}).  "All that mumblage" is used like "all that    stuff" when
  15457. it is not quite clear how the subject of discussion    works, or like
  15458. "all that crap" when `mumble' is being used as    an implicit
  15459. replacement for pejoratives.
  15460.  
  15461.    :mumble: interj.  1. Said when the correct response is too
  15462. complicated to enunciate, or the speaker has not thought it out.
  15463. Often prefaces a longer answer, or indicates a general reluctance    to
  15464. get into a long discussion.  "Don't you think that we could    improve
  15465. LISP performance by using a hybrid reference-count    transaction
  15466. garbage collector, if the cache is big enough and there    are some
  15467. extra cache bits for the microcode to use?"  "Well,    mumble ... I'll
  15468. have to think about it."  2. [MIT] Expression    of
  15469. not-quite-articulated agreement, often used as an informal vote    of
  15470. consensus in a meeting: "So, shall we dike out the COBOL    emulation?"
  15471. "Mumble!"  3. Sometimes used as an expression of    disagreement
  15472. (distinguished from sense 2 by tone of voice and other    cues).  "I
  15473. think we should buy a {VAX}."  "Mumble!"  Common    variant: `mumble
  15474. frotz' (see {frotz}; interestingly, one does    not say `mumble
  15475. frobnitz' even though `frotz' is short for    `frobnitz').  4. Yet
  15476. another {metasyntactic variable}, like    {foo}.  5. When used as a
  15477. question ("Mumble?") means "I    didn't understand you".  6. Sometimes
  15478. used in `public' contexts    on-line as a placefiller for things one is
  15479. barred from giving    details about.  For example, a poster with
  15480. pre-released hardware in    his machine might say "Yup, my machine now
  15481. has an extra 16M of    memory, thanks to the card I'm testing for
  15482. Mumbleco." 7. A    conversational wild card used to designate something
  15483. one doesn't    want to bother spelling out, but which can be {glark}ed
  15484. from    context.  Compare {blurgle}.  8. [XEROX PARC] A colloquialism
  15485. used to suggest that further discussion would be fruitless.
  15486.  
  15487.    :munch: vt.  [often confused with {mung}, q.v.] To    transform
  15488. information in a serial fashion, often requiring large    amounts of
  15489. computation.  To trace down a data structure.  Related    to {crunch}
  15490. and nearly synonymous with {grovel}, but connotes    less pain.
  15491.  
  15492.    :munching: n.  Exploration of security holes of someone else's
  15493. computer for thrills, notoriety, or to annoy the system manager.
  15494. Compare {cracker}.  See also {hacked off}.
  15495.  
  15496.    :munching squares: n.  A {display hack} dating back to the    PDP-1
  15497. (ca. 1962, reportedly discovered by Jackson Wright), which    employs a
  15498. trivial computation (repeatedly plotting the graph Y = X    XOR T for
  15499. successive values of T -- see {HAKMEM} items    146-148) to produce an
  15500. impressive display of moving and growing    squares that devour the
  15501. screen.  The initial value of T is treated    as a parameter, which,
  15502. when well-chosen, can produce amazing    effects.  Some of these, later
  15503. (re)discovered on the LISP machine,    have been christened `munching
  15504. triangles' (try AND for XOR and    toggling points instead of plotting
  15505. them), `munching w's', and    `munching mazes'.  More generally,
  15506. suppose a graphics program    produces an impressive and ever-changing
  15507. display of some basic    form, foo, on a display terminal, and does it
  15508. using a relatively    simple program; then the program (or the
  15509. resulting display) is    likely to be referred to as `munching foos'.
  15510. [This is a good    example of the use of the word {foo} as a
  15511. {metasyntactic    variable}.]
  15512.  
  15513.    :munchkin: /muhnch'kin/ n.  [from the squeaky-voiced little
  15514. people in L. Frank Baum's "The Wizard of Oz"] A    teenage-or-younger
  15515. micro enthusiast hacking BASIC or something else    equally
  15516. constricted.  A term of mild derision -- munchkins are    annoying but
  15517. some grow up to be hackers after passing through a    {larval stage}.
  15518. The term {urchin} is also used.  See also    {wannabee}, {bitty box}.
  15519.  
  15520.    :mundane: n.  [from SF fandom] 1. A person who is not in    science
  15521. fiction fandom.  2. A person who is not in the computer    industry.
  15522. In this sense, most often an adjectival modifier as in    "in my
  15523. mundane life...." See also {Real World}.
  15524.  
  15525.    :mung: /muhng/ vt.  [in 1960 at MIT, `Mash Until No Good';
  15526. sometime after that the derivation from the {{recursive acronym}}
  15527. `Mung Until No Good' became standard; but see {munge}] 1. To    make
  15528. changes to a file, esp. large-scale and irrevocable changes.     See
  15529. {BLT}.  2. To destroy, usually accidentally, occasionally
  15530. maliciously.  The system only mungs things maliciously; this is a
  15531. consequence of {Finagle's Law}.  See {scribble}, {mangle},    {trash},
  15532. {nuke}.  Reports from {Usenet} suggest that the    pronunciation
  15533. /muhnj/ is now usual in speech, but the spelling    `mung' is still
  15534. common in program comments (compare the    widespread confusion over
  15535. the proper spelling of {kluge}).     3. The kind of beans the sprouts
  15536. of which are used in Chinese food.     (That's their real name!  Mung
  15537. beans!  Really!)
  15538.  
  15539.    Like many early hacker terms, this one seems to have originated at
  15540. {TMRC}; it was already in use there in 1958.  Peter Samson
  15541. (compiler of the original TMRC lexicon) thinks it may originally
  15542. have been onomatopoeic for the sound of a relay spring (contact)
  15543. being twanged.  However, it is known that during the World Wars,
  15544. `mung' was U.S. army slang for the ersatz creamed chipped beef
  15545. better known as `SOS', and it seems quite likely that the word in
  15546. fact goes back to Scots-dialect {munge}.
  15547.  
  15548.    :munge: /muhnj/ vt.  1. [derogatory] To imperfectly    transform
  15549. information.  2. A comprehensive rewrite of a routine,    data
  15550. structure or the whole program.  3. To modify data in some way    the
  15551. speaker doesn't need to go into right now or cannot describe
  15552. succinctly (compare {mumble}). 4. To add {spamblock} to an    email
  15553. address.
  15554.  
  15555.    This term is often confused with {mung}, which probably was
  15556. derived from it.  However, it also appears the word `munge' was in
  15557. common use in Scotland in the 1940s, and in Yorkshire in the 1950s,
  15558. as a verb, meaning to munch up into a masticated mess, and    as a
  15559. noun, meaning the result of munging something up (the    parallel with
  15560. the {kluge}/{kludge} pair is amusing).
  15561.  
  15562.    :Murphy's Law: prov.  The correct, _original_ Murphy's    Law reads:
  15563. "If there are two or more ways to do something, and one    of those
  15564. ways can result in a catastrophe, then someone will do    it."  This is
  15565. a principle of defensive design, cited here because    it is usually
  15566. given in mutant forms less descriptive of the    challenges of design
  15567. for {luser}s.  For example, you don't make a    two-pin plug
  15568. symmetrical and then label it `THIS WAY UP'; if it    matters which way
  15569. it is plugged in, then you make the design    asymmetrical (see also
  15570. the anecdote under {magic smoke}).
  15571.  
  15572.    Edward A. Murphy, Jr. was one of the engineers on the rocket-sled
  15573. experiments that were done by the U.S. Air Force in 1949 to test
  15574. human acceleration tolerances (USAF project MX981).  One experiment
  15575. involved a set of 16 accelerometers mounted to different parts of
  15576. the subject's body.  There were two ways each sensor could be glued
  15577. to its mount, and somebody methodically installed all 16 the wrong
  15578. way around.  Murphy then made the original form of his
  15579. pronouncement, which the test subject (Major John Paul Stapp)    quoted
  15580. at a news conference a few days later.
  15581.  
  15582.    Within months `Murphy's Law' had spread to various technical
  15583. cultures connected to aerospace engineering.  Before too many years
  15584. had gone by variants had passed into the popular imagination,
  15585. changing as they went.  Most of these are variants on "Anything    that
  15586. can go wrong, will"; this is correctly referred to as    {Finagle's
  15587. Law}.  The memetic drift apparent in these mutants    clearly
  15588. demonstrates Murphy's Law acting on itself!
  15589.  
  15590.    :music:: n.  A common extracurricular interest of hackers
  15591. (compare {{science-fiction fandom}}, {{oriental food}}; see also
  15592. {filk}).  Hackish folklore has long claimed that musical and
  15593. programming abilities are closely related, and there has been at
  15594. least one large-scale statistical study that supports this.
  15595. Hackers, as a rule, like music and often develop musical
  15596. appreciation in unusual and interesting directions.  Folk music is
  15597. very big in hacker circles; so is electronic music, and the sort of
  15598. elaborate instrumental jazz/rock that used to be called
  15599. `progressive' and isn't recorded much any more.  The hacker's
  15600. musical range tends to be wide; many can listen with equal
  15601. appreciation to (say) Talking Heads, Yes, Gentle Giant, Pat    Metheny,
  15602. Scott Joplin, Tangerine Dream, Dream Theater, King Sunny    Ade, The
  15603. Pretenders, Screaming Trees, or the Brandenburg Concerti.     It is
  15604. also apparently true that hackerdom includes a much higher
  15605. concentration of talented amateur musicians than one would expect
  15606. from a similar-sized control group of {mundane} types.
  15607.  
  15608.    :mutter: vt.  To quietly enter a command not meant for the    ears,
  15609. eyes, or fingers of ordinary mortals.  Often used in `mutter    an
  15610. {incantation}'.  See also {wizard}.
  15611.  
  15612. = N =
  15613. =====
  15614.  
  15615.    :N: /N/ quant.  1. A large and indeterminate number of    objects:
  15616. "There were N bugs in that crock!"  Also used in    its original sense
  15617. of a variable name: "This crock has N    bugs, as N goes to infinity."
  15618. (The true number of bugs is    always at least N + 1; see {Lubarsky's
  15619. Law of Cybernetic    Entomology}.)  2. A variable whose value is
  15620. inherited from the    current context.  For example, when a meal is
  15621. being ordered at a    restaurant, N may be understood to mean however
  15622. many people    there are at the table.  From the remark "We'd like to
  15623. order    N wonton soups and a family dinner for N - 1" you    can
  15624. deduce that one person at the table wants to eat only soup,    even
  15625. though you don't know how many people there are (see    {great-wall}).
  15626. 3. `Nth': adj. The ordinal counterpart    of N, senses 1 and 2.  "Now
  15627. for the Nth and last    time..." In the specific context "Nth-year grad
  15628.   student", N is generally assumed to be at least 4, and is    usually
  15629. 5 or more (see {tenured graduate student}).  See also    {{random
  15630. numbers}}, {two-to-the-N}.
  15631.  
  15632.    :nadger: /nad'jr/ v.  [UK] Of software or hardware (not    people),
  15633. to twiddle some object in a hidden manner, generally so    that it
  15634. conforms better to some format.  For instance, string    printing
  15635. routines on 8-bit processors often take the string text    from the
  15636. instruction stream, thus a print call looks like `jsr    print:"Hello
  15637. world"'.  The print routine has to `nadger' the    saved instruction
  15638. pointer so that the processor doesn't try to    execute the text as
  15639. instructions when the subroutine returns.
  15640.  
  15641.    Apparently this word originated on a now-legendary 1950s radio
  15642. comedy program called "The Goon Show".  The Goon Show usage    of
  15643. "nadger" was definitely in the sense of "jinxed"    "clobbered" "fouled
  15644. up".  The American mutation {adger}    seems to have preserved more of
  15645. the original flavor.
  15646.  
  15647.    :nagware: /nag'weir/ n.  [Usenet] The variety of {shareware}    that
  15648. displays a large screen at the beginning or end reminding you    to
  15649. register, typically requiring some sort of keystroke to continue    so
  15650. that you can't use the software in batch mode.  Compare    {annoyware},
  15651. {crippleware}.
  15652.  
  15653.    :nailed to the wall: adj.  [like a trophy] Said of a bug    finally
  15654. eliminated after protracted, and even heroic, effort.
  15655.  
  15656.    :nailing jelly: vi.  See {like nailing jelly to a tree}.
  15657.  
  15658.    :naive: adj.  1. Untutored in the perversities of some particular
  15659. program or system; one who still tries to do things in an intuitive
  15660. way, rather than the right way (in really good designs these
  15661. coincide, but most designs aren't `really good' in the    appropriate
  15662. sense).  This trait is completely unrelated to general    maturity or
  15663. competence, or even competence at any other specific    program.  It is
  15664. a sad commentary on the primitive state of    computing that the
  15665. natural opposite of this term is often claimed    to be `experienced
  15666. user' but is really more like `cynical    user'.  2. Said of an
  15667. algorithm that doesn't take advantage of    some superior but advanced
  15668. technique, e.g., the {bubble sort}. It    may imply naivete on the part
  15669. of the programmer, although there are    situations where a naive
  15670. algorithm is preferred, because it is more    important to keep the
  15671. code comprehensible than to go for maximum    performance. "I know the
  15672. linear search is naive, but in this case the    list typically only has
  15673. half a dozen items."
  15674.  
  15675.    :naive user: n.  A {luser}.  Tends to imply someone who is
  15676. ignorant mainly owing to inexperience.  When this is applied to
  15677. someone who _has_ experience, there is a definite implication    of
  15678. stupidity.
  15679.  
  15680.    :NAK: /nak/ interj.  [from the ASCII mnemonic for 0010101]    1.
  15681. On-line joke answer to {ACK}?: "I'm not here."  2. On-line    answer to
  15682. a request for chat: "I'm not available."  3. Used to    politely
  15683. interrupt someone to tell them you don't understand their    point or
  15684. that they have suddenly stopped making sense.  See    {ACK}, sense 3.
  15685. "And then, after we recode the project in    COBOL...." "Nak, Nak, Nak!
  15686. I thought I heard you say    COBOL!"
  15687.  
  15688.    :NANA: //  [Usenet] The newsgroups news.admin.net-abuse.*,
  15689. devoted to fighting {spam} and network abuse. Each individual
  15690. newsgroup is often referred to by adding a letter to NANA.  For
  15691. example, NANAU would refer to news.admin.net-abuse.usenet.
  15692.  
  15693.    When spam began to be a serious problem around 1995, and a loose
  15694. network of anti-spammers formed to combat it, spammers immediately
  15695. accused them of being the {backbone cabal}, or the Cabal reborn.
  15696. Though this was not true, spam-fighters ironically accepted the
  15697. label and the tag line "There is No Cabal" reappeared (later, and
  15698. now commonly, abbreviated to "TINC").  Nowadays "the Cabal" is
  15699. generally understood to refer to the NANA regulars.
  15700.  
  15701.    :nano: /nan'oh/ n.  [CMU: from `nanosecond'] A brief    period of
  15702. time.  "Be with you in a nano" means you really will be    free
  15703. shortly, i.e., implies what mainstream people mean by "in a    jiffy"
  15704. (whereas the hackish use of `jiffy' is quite different    -- see
  15705. {jiffy}).
  15706.  
  15707.    :nano-: pref.  [SI: the next quantifier below {micro-};    meaning *
  15708. 10^(-9)] Smaller than {micro-}, and used in    the same rather loose
  15709. and connotative way.  Thus, one has    {{nanotechnology}} (coined by
  15710. hacker K. Eric Drexler) by analogy    with `microtechnology'; and a few
  15711. machine architectures have a    `nanocode' level below `microcode'.
  15712. Tom Duff at Bell Labs has    also pointed out that "Pi seconds is a
  15713. nanocentury".     See also {{quantifiers}}, {pico-}, {nanoacre},
  15714. {nanobot},    {nanocomputer}, {nanofortnight}.
  15715.  
  15716.    :nanoacre: /nan'oh-ay`kr/ n.  A unit (about 2 mm square) of    real
  15717. estate on a VLSI chip.  The term gets its giggle value from    the fact
  15718. that VLSI nanoacres have costs in the same range as real    acres once
  15719. one figures in design and fabrication-setup costs.
  15720.  
  15721.    :nanobot: /nan'oh-bot/ n.  A robot of microscopic    proportions,
  15722. presumably built by means of {{nanotechnology}}.  As    yet, only used
  15723. informally (and speculatively!).  Also called a    `nanoagent'.
  15724.  
  15725.    :nanocomputer: /nan'oh-k*m-pyoo'tr/ n.  A computer with
  15726. molecular-sized switching elements.  Designs for mechanical
  15727. nanocomputers which use single-molecule sliding rods for their    logic
  15728. have been proposed.  The controller for a {nanobot} would    be a
  15729. nanocomputer.
  15730.  
  15731.    :nanofortnight: n.  [Adelaide University] 1 fortnight    * 10^(-9),
  15732. or about 1.2 msec.  This unit was used    largely by students doing
  15733. undergraduate practicals.  See    {microfortnight}, {attoparsec}, and
  15734. {micro-}.
  15735.  
  15736.    :nanotechnology:: /nan'-oh-tek-no`l*-jee/ n.  A    hypothetical
  15737. fabrication technology in which objects are designed    and built with
  15738. the individual specification and placement of each    separate atom.
  15739. The first unequivocal nanofabrication experiments    took place in
  15740. 1990, for example with the deposition of individual    xenon atoms on a
  15741. nickel substrate to spell the logo of a certain    very large computer
  15742. company.  Nanotechnology has been a hot topic    in the hacker
  15743. subculture ever since the term was coined by K. Eric    Drexler in his
  15744. book "Engines of Creation" (Anchor/Doubleday,    ISBN 0-385-19973-2),
  15745. where he predicted that nanotechnology could    give rise to
  15746. replicating assemblers, permitting an exponential    growth of
  15747. productivity and personal wealth (there's an authorized
  15748. transcription at    `http://www.foresight.org/EOC/index.html.').  See
  15749. also    {blue goo}, {gray goo}, {nanobot}.
  15750.  
  15751.    :nasal demons: n.  Recognized shorthand on the Usenet group
  15752. comp.std.c for any unexpected behavior of a C compiler on
  15753. encountering an undefined construct.  During a discussion on that
  15754. group in early 1992, a regular remarked "When the compiler
  15755. encounters [a given undefined construct] it is legal for it to make
  15756. demons fly out of your nose" (the implication is that the compiler
  15757. may choose any arbitrarily bizarre way to interpret the code    without
  15758. violating the ANSI C standard).  Someone else followed up    with a
  15759. reference to "nasal demons", which quickly became    established.
  15760.  
  15761.    :nastygram: /nas'tee-gram/ n.  1. A protocol packet or item    of
  15762. email (the latter is also called a {letterbomb}) that takes
  15763. advantage of misfeatures or security holes on the target system to
  15764. do untoward things.  2. Disapproving mail, esp. from a    {net.god},
  15765. pursuant to a violation of {netiquette} or a    complaint about failure
  15766. to correct some mail- or news-transmission    problem.  Compare
  15767. {shitogram}, {mailbomb}.  3. A status    report from an unhappy, and
  15768. probably picky, customer.  "What'd    Corporate say in today's
  15769. nastygram?"  4. [deprecated] An error    reply by mail from a {daemon};
  15770. in particular, a {bounce    message}.
  15771.  
  15772.    :Nathan Hale: n.  An asterisk (see also {splat},    {{ASCII}}).  Oh,
  15773. you want an etymology?  Notionally, from "I    regret that I have only
  15774. one asterisk for my country!", a misquote    of the famous remark
  15775. uttered by Nathan Hale just before he was    hanged.  Hale was a
  15776. (failed) spy for the rebels in the American War    of Independence.
  15777.  
  15778.    :nature: n.  See {has the X nature}.
  15779.  
  15780.    :neat hack: n.  [very common] 1. A clever technique.  2. A
  15781. brilliant practical joke, where neatness is correlated with
  15782. cleverness, harmlessness, and surprise value.  Example: the Caltech
  15783. Rose Bowl card display switch (see {Appendix A} for    discussion).
  15784. See also {hack}.
  15785.  
  15786.    :neats vs. scruffies: n.  The label used to refer to one of    the
  15787. continuing {holy wars} in AI research.  This conflict    tangles
  15788. together two separate issues.  One is the relationship    between human
  15789. reasoning and AI; `neats' tend to try to build    systems that `reason'
  15790. in some way identifiably similar to the    way humans report themselves
  15791. as doing, while `scruffies' profess    not to care whether an algorithm
  15792. resembles human reasoning in the    least as long as it works.  More
  15793. importantly, neats tend to believe    that logic is king, while
  15794. scruffies favor looser, more ad-hoc    methods driven by empirical
  15795. knowledge.  To a neat, scruffy methods    appear promiscuous,
  15796. successful only by accident, and not productive    of insights about
  15797. how intelligence actually works; to a scruffy,    neat methods appear
  15798. to be hung up on formalism and irrelevant to    the hard-to-capture
  15799. `common sense' of living intelligences.
  15800.  
  15801.    :neep-neep: /neep neep/ n.  [onomatopoeic, widely spread    through
  15802. SF fandom but reported to have originated at Caltech in the    1970s]
  15803. One who is fascinated by computers.  Less specific than    {hacker}, as
  15804. it need not imply more skill than is required to    boot games on a PC.
  15805. The derived noun `neeping' applies    specifically to the long
  15806. conversations about computers that tend to    develop in the corners at
  15807. most SF-convention parties (the term    `neepery' is also in wide use).
  15808. Fandom has a related proverb to    the effect that "Hacking is a
  15809. conversational black hole!".
  15810.  
  15811.    :neophilia: /nee`oh-fil'-ee-*/ n.  The trait of being    excited and
  15812. pleased by novelty.  Common among most hackers, SF    fans, and members
  15813. of several other connected leading-edge    subcultures, including the
  15814. pro-technology `Whole Earth' wing of    the ecology movement, space
  15815. activists, many members of Mensa, and    the Discordian/neo-pagan
  15816. underground.  All these groups overlap    heavily and (where evidence
  15817. is available) seem to share    characteristic hacker tropisms for
  15818. science fiction, {{music}}, and    {{oriental food}}.  The opposite
  15819. tendency is `neophobia'.
  15820.  
  15821.    :nerd: n.  1. [mainstream slang] Pejorative applied to anyone
  15822. with an above-average IQ and few gifts at small talk and ordinary
  15823. social rituals.  2. [jargon] Term of praise applied (in conscious
  15824. ironic reference to sense 1) to someone who knows what's really
  15825. important and interesting and doesn't care to be distracted by
  15826. trivial chatter and silly status games.  Compare the two senses of
  15827. {computer geek}.
  15828.  
  15829.    The word itself appears to derive from the lines "And then, just to
  15830.  show them, I'll sail to Ka-Troo / And Bring Back an It-Kutch, a Preep
  15831.   and a Proo, / A Nerkle, a Nerd, and a Seersucker, too!" in the
  15832. Dr. Seuss book "If I Ran the Zoo" (1950). (The spellings    `nurd' and
  15833. `gnurd' also used to be current at MIT.) How it    developed its
  15834. mainstream meaning is unclear, but sense 1 seems to    have entered
  15835. mass culture in the early 1970s (there are reports    that in the
  15836. mid-1960s it meant roughly "annoying misfit"    without the connotation
  15837. of intelligence).
  15838.  
  15839.    An IEEE Spectrum article (4/95, page 16) once derived `nerd' in its
  15840.  variant form `knurd' from the word `drunk' backwards, but this
  15841. bears all the hallmarks of a bogus folk etymology.
  15842.  
  15843.    Hackers developed sense 2 in self-defense perhaps ten years later,
  15844. and some actually wear "Nerd Pride" buttons, only half as a    joke.
  15845. At MIT one can find not only buttons but (what else?) pocket
  15846. protectors bearing the slogan and the MIT seal.
  15847.  
  15848.    :net.-: /net dot/ pref.  [Usenet] Prefix used to describe    people
  15849. and events related to Usenet.  From the time before the    {Great
  15850. Renaming}, when most non-local newsgroups had names    beginning
  15851. `net.'.  Includes {net.god}s, `net.goddesses'    (various charismatic
  15852. net.women with circles of on-line admirers),    `net.lurkers' (see
  15853. {lurker}), `net.person', `net.parties'    (a synonym for {boink}, sense
  15854. 2), and many similar constructs.     See also {net.police}.
  15855.  
  15856.    :net.god: /net god/ n.  Accolade referring to anyone who
  15857. satisfies some combination of the following conditions: has been
  15858. visible on Usenet for more than 5 years, ran one of the original
  15859. backbone sites, moderated an important newsgroup, wrote news
  15860. software, or knows Gene, Mark, Rick, Mel, Henry, Chuq, and Greg
  15861. personally.  See {demigod}.  Net.goddesses such as Rissa or the
  15862. Slime Sisters have (so far) been distinguished more by personality
  15863. than by authority.
  15864.  
  15865.    :net.personality: /net per`sn-al'-*-tee/ n.  Someone who has    made
  15866. a name for him or herself on {Usenet}, through either    longevity or
  15867. attention-getting posts, but doesn't meet the other    requirements of
  15868. {net.god}hood.
  15869.  
  15870.    :net.police: /net-p*-lees'/ n.  (var. `net.cops') Those    Usenet
  15871. readers who feel it is their responsibility to pounce on and    {flame}
  15872. any posting which they regard as offensive or in    violation of their
  15873. understanding of {netiquette}.  Generally    used sarcastically or
  15874. pejoratively.  Also spelled `net police'.     See also {net.-}, {code
  15875. police}.
  15876.  
  15877.    :NetBOLLIX: n.  [from bollix: to bungle] {IBM}'s NetBIOS, an
  15878. extremely {brain-damaged} network protocol that, like {Blue    Glue},
  15879. is used at commercial shops that don't know any better.
  15880.  
  15881.    :netburp: n.  [IRC] When {netlag} gets really bad, and    delays
  15882. between servers exceed a certain threshhold, the {IRC}    network
  15883. effectively becomes partitioned for a period of time, and    large
  15884. numbers of people seem to be signing off at the same time and    then
  15885. signing back on again when things get better.  An instance of    this
  15886. is called a `netburp' (or, sometimes, {netsplit}).
  15887.  
  15888.    :netdead: n.  [IRC] The state of someone who signs off    {IRC},
  15889. perhaps during a {netburp}, and doesn't sign back on    until later.
  15890. In the interim, he is "dead to the net".     Compare {link-dead}.
  15891.  
  15892.    :nethack: /net'hak/ n.  [Unix] A dungeon game similar to    {rogue}
  15893. but more elaborate, distributed in C source over    {Usenet} and very
  15894. popular at Unix sites and on PC-class machines    (nethack is probably
  15895. the most widely distributed of the freeware    dungeon games).  The
  15896. earliest versions, written by Jay Fenlason and    later considerably
  15897. enhanced by Andries Brouwer, were simply called    `hack'.  The name
  15898. changed when maintenance was taken over by a    group of hackers
  15899. originally organized by Mike Stephenson.  There    is no official page
  15900. (as of early 1999) but there is a representative    one at
  15901. `http://pinky.wtower.com/nethack/'.
  15902.  
  15903.    :netiquette: /net'ee-ket/ or /net'i-ket/ n.     [portmanteau,
  15904. network + etiquette] The conventions of politeness    recognized on
  15905. {Usenet}, such as avoidance of cross-posting to    inappropriate groups
  15906. and refraining from commercial pluggery    outside the biz groups.
  15907.  
  15908.    :netlag: n.  [IRC, MUD] A condition that occurs when the    delays
  15909. in the {IRC} network or on a {MUD} become severe    enough that servers
  15910. briefly lose and then reestablish contact,    causing messages to be
  15911. delivered in bursts, often with delays of up    to a minute.  (Note
  15912. that this term has nothing to do with    mainstream "jet lag", a
  15913. condition which hackers tend not to be    much bothered by.)  Often
  15914. shortened to just `lag'.
  15915.  
  15916.    :netnews: /net'n[y]ooz/ n.  1. The software that makes    {Usenet}
  15917. run.  2. The content of Usenet.  "I read netnews    right after my mail
  15918. most mornings."
  15919.  
  15920.    :netrock: /net'rok/ n.  [IBM] A {flame}; used esp. on    VNET, IBM's
  15921. internal corporate network.
  15922.  
  15923.    :Netscrape: n.  Standard name-of-insult for Netscape
  15924. Navigator/Communicator, Netscape's overweight Web browser.  Compare
  15925. {Internet Exploiter}.
  15926.  
  15927.    :netsplit: n.  Syn. {netburp}.
  15928.  
  15929.    :netter: n.  1. Loosely, anyone with a {network address}.     2.
  15930. More specifically, a {Usenet} regular.  Most often found in    the
  15931. plural.  "If you post _that_ in a technical group, you're    going to
  15932. be flamed by angry netters for the rest of time!"
  15933.  
  15934.    :network address: n.  (also `net address') As used by    hackers,
  15935. means an address on `the' network (see {the    network}; this used to
  15936. include {bang path} addresses but now    almost always implies an
  15937. {{Internet address}}). Net    addresses are often used in email text as
  15938. a more concise substitute    for personal names; indeed, hackers may
  15939. come to know each other    quite well by network names without ever
  15940. learning each others'    `legal' monikers.  Indeed, display of a
  15941. network address (e.g on    business cards) used to function as an
  15942. important hacker    identification signal, like lodge pins among Masons
  15943. or tie-dyed    T-shirts among Grateful Dead fans.  In the day of
  15944. pervasive    Internet this is less true, but you can still be fairly
  15945. sure that    anyone with a network address handwritten on his or her
  15946. convention    badge is a hacker.
  15947.  
  15948.    :network meltdown: n.  A state of complete network overload;    the
  15949. network equivalent of {thrash}ing.  This may be induced by a
  15950. {Chernobyl packet}.  See also {broadcast storm}, {kamikaze    packet}.
  15951.  
  15952.    Network meltdown is often a result of network designs that are
  15953. optimized for a steady state of moderate load and don't cope well
  15954. with the very jagged, bursty usage patterns of the real world.  One
  15955. amusing instance of this is triggered by the popular and very    bloody
  15956. shoot-'em-up game Doom on the PC.  When used in    multiplayer mode
  15957. over a network, the game uses broadcast packets to    inform other
  15958. machines when bullets are fired.  This causes problems    with weapons
  15959. like the chain gun which fire rapidly -- it can blast    the network
  15960. into a meltdown state just as easily as it shreds    opposing monsters.
  15961.  
  15962.    :New Jersey: adj.  [primarily Stanford/Silicon Valley]
  15963. Brain-damaged or of poor design.  This refers to the allegedly
  15964. wretched quality of such software as C, C++, and Unix (which
  15965. originated at Bell Labs in Murray Hill, New Jersey).  "This    compiler
  15966. bites the bag, but what can you expect from a compiler    designed in
  15967. New Jersey?"  Compare {Berkeley Quality Software}.     See also {Unix
  15968. conspiracy}.
  15969.  
  15970.    :New Testament: n.  [C programmers] The second edition of    K&R's
  15971. "The C Programming Language" (Prentice-Hall, 1988; ISBN
  15972. 0-13-110362-8), describing ANSI Standard C.  See {K&R}; this    version
  15973. is also called `K&R2'.
  15974.  
  15975.    :newbie: /n[y]oo'bee/ n.  [verry common; orig. from    British
  15976. public-school and military slang variant of `new boy'] A    Usenet
  15977. neophyte.  This term surfaced in the {newsgroup}    talk.bizarre but is
  15978. now in wide use.  Criteria for being    considered a newbie vary
  15979. wildly; a person can be called a newbie in    one newsgroup while
  15980. remaining a respected regular in another.  The    label `newbie' is
  15981. sometimes applied as a serious insult to a    person who has been
  15982. around Usenet for a long time but who carefully    hides all evidence
  15983. of having a clue.  See {B1FF}.
  15984.  
  15985.    :newgroup wars: /n[y]oo'groop worz/ n.  [Usenet] The salvos of
  15986. dueling `newgroup' and `rmgroup' messages sometimes    exchanged by
  15987. persons on opposite sides of a dispute over whether a    {newsgroup}
  15988. should be created net-wide, or (even more    frequently) whether an
  15989. obsolete one should be removed.  These    usually settle out within a
  15990. week or two as it becomes clear whether    the group has a natural
  15991. constituency (usually, it doesn't).  At    times, especially in the
  15992. completely anarchic alt hierarchy, the    names of newsgroups
  15993. themselves become a form of comment or humor;    e.g., the group
  15994. alt.swedish.chef.bork.bork.bork which originated    as a birthday joke
  15995. for a Muppets fan, or any number of specialized    abuse groups named
  15996. after particularly notorious {flamer}s, e.g.,    alt.weemba.
  15997.  
  15998.    :newline: /n[y]oo'li:n/ n.  1. [techspeak, primarily Unix]    The
  15999. ASCII LF character (0001010), used under {{Unix}} as a text    line
  16000. terminator.  A Bell-Labs-ism rather than a Berkeleyism;
  16001. interestingly (and unusually for Unix jargon), it is said to have
  16002. originally been an IBM usage.  (Though the term `newline'    appears in
  16003. ASCII standards, it never caught on in the general    computing world
  16004. before Unix).  2. More generally, any magic    character, character
  16005. sequence, or operation (like Pascal's writeln    procedure) required to
  16006. terminate a text record or separate lines.     See {crlf}, {terpri}.
  16007.  
  16008.    :NeWS: /nee'wis/, /n[y]oo'is/ or /n[y]ooz/ n.  [acronym;    the
  16009. `Network Window System'] The road not taken in window systems,    an
  16010. elegant {{PostScript}}-based environment that would almost    certainly
  16011. have won the standards war with {X} if it hadn't been    {proprietary}
  16012. to Sun Microsystems.  There is a lesson here that    too many software
  16013. vendors haven't yet heeded.  Many hackers insist    on the two-syllable
  16014. pronunciations above as a way of distinguishing    NeWS from Usenet
  16015. news (the {netnews} software).
  16016.  
  16017.    :newsfroup: // n.  [Usenet] Silly synonym for    {newsgroup},
  16018. originally a typo but now in regular use on    Usenet's talk.bizarre,
  16019. and other lunatic-fringe groups.  Compare    {hing}, {grilf}, {pr0n}
  16020. and {filk}.
  16021.  
  16022.    :newsgroup: n.  [Usenet] One of {Usenet}'s huge collection of
  16023. topic groups or {fora}.  Usenet groups can be `unmoderated'    (anyone
  16024. can post) or `moderated' (submissions are automatically    directed to
  16025. a moderator, who edits or filters and then posts the    results).  Some
  16026. newsgroups have parallel {mailing list}s for    Internet people with no
  16027. netnews access, with postings to the group    automatically propagated
  16028. to the list and vice versa.  Some    moderated groups (especially those
  16029. which are actually gatewayed    Internet mailing lists) are distributed
  16030. as `digests', with groups    of postings periodically collected into a
  16031. single large posting with    an index.
  16032.  
  16033.    Among the best-known are comp.lang.c (the C-language forum),
  16034. comp.arch (on computer architectures), comp.unix.wizards    (for Unix
  16035. wizards), rec.arts.sf.written and siblings (for    science-fiction
  16036. fans), and talk.politics.misc (miscellaneous    political discussions
  16037. and {flamage}).
  16038.  
  16039.    :nick: n.  [IRC; very common] Short for nickname.  On    {IRC},
  16040. every user must pick a nick, which is sometimes the same    as the
  16041. user's real name or login name, but is often more fanciful.     Compare
  16042. {handle}, {screen name}.
  16043.  
  16044.    :nickle: /ni'kl/ n.  [from `nickel', common name for the    U.S.
  16045. 5-cent coin] A {nybble} + 1; 5 bits.  Reported among    developers for
  16046. Mattel's GI 1600 (the Intellivision games    processor), a chip with
  16047. 16-bit-wide RAM but 10-bit-wide ROM.  See    also {deckle}, and
  16048. {nybble} for names of other bit units.
  16049.  
  16050.    :night mode: n.  See {phase} (of people).
  16051.  
  16052.    :Nightmare File System: n.  Pejorative hackerism for Sun's
  16053. Network File System (NFS).  In any nontrivial network of Suns    where
  16054. there is a lot of NFS cross-mounting, when one Sun goes down,    the
  16055. others often freeze up.  Some machine tries to access the down    one,
  16056. and (getting no response) repeats indefinitely.  This causes    it to
  16057. appear dead to some messages (what is actually happening is    that it
  16058. is locked up in what should have been a brief excursion to    a higher
  16059. {spl} level).  Then another machine tries to reach    either the down
  16060. machine or the pseudo-down machine, and itself    becomes pseudo-down.
  16061. The first machine to discover the down one is    now trying both to
  16062. access the down one and to respond to the    pseudo-down one, so it is
  16063. even harder to reach.  This situation    snowballs very quickly, and
  16064. soon the entire network of machines is    frozen -- worst of all, the
  16065. user can't even abort the file access    that started the problem!
  16066. Many of NFS's problems are excused by    partisans as being an
  16067. inevitable result of its statelessness, which    is held to be a great
  16068. feature (critics, of course, call it a great    {misfeature}).  (ITS
  16069. partisans are apt to cite this as proof of    Unix's alleged bogosity;
  16070. ITS had a working NFS-like shared file    system with none of these
  16071. problems in the early 1970s.)  See also    {broadcast storm}.
  16072.  
  16073.    :NIL: /nil/  No.  Used in reply to a question, particularly    one
  16074. asked using the `-P' convention.  Most hackers assume this    derives
  16075. simply from LISP terminology for `false' (see also    {T}), but NIL as
  16076. a negative reply was well-established among    radio hams decades
  16077. before the advent of LISP.  The historical    connection between early
  16078. hackerdom and the ham radio world was    strong enough that this may
  16079. have been an influence.
  16080.  
  16081.    :Ninety-Ninety Rule: n.  "The first 90% of the code    accounts for
  16082. the first 90% of the development time.  The remaining    10% of the
  16083. code accounts for the other 90% of the development    time."
  16084. Attributed to Tom Cargill of Bell Labs, and popularized by    Jon
  16085. Bentley's September 1985 "Bumper-Sticker Computer Science"    column in
  16086. "Communications of the ACM".  It was there called    the "Rule of
  16087. Credibility", a name which seems not to have stuck.     Other maxims in
  16088. the same vein include the law attributed to the    early British
  16089. computer scientist Douglas Hartree: "The time from    now until the
  16090. completion of the project tends to become constant."
  16091.  
  16092.    :NMI: /N-M-I/ n.  Non-Maskable Interrupt.  An IRQ 7 on the    PDP-11
  16093. or 680[01234]0; the NMI line on an 80[1234]86.  In contrast    with a
  16094. {priority interrupt} (which might be ignored, although    that is
  16095. unlikely), an NMI is _never_ ignored.  Except, that    is, on {clone}
  16096. boxes, where NMI is often ignored on the    motherboard because flaky
  16097. hardware can generate many spurious    ones.
  16098.  
  16099.    :no-op: /noh'op/ n.,v.  alt. NOP /nop/ [no    operation] 1. A
  16100. machine instruction that does nothing (sometimes    used in
  16101. assembler-level programming as filler for data or patch    areas, or to
  16102. overwrite code to be removed in binaries).  2. A    person who
  16103. contributes nothing to a project, or has nothing going    on upstairs,
  16104. or both.  As in "He's a no-op."  3. Any operation or    sequence of
  16105. operations with no effect, such as circling the block    without
  16106. finding a parking space, or putting money into a vending    machine and
  16107. having it fall immediately into the coin-return box, or    asking
  16108. someone for help and being told to go away.  "Oh, well,    that was a
  16109. no-op."  Hot-and-sour soup (see {great-wall}) that    is insufficiently
  16110. either is `no-op soup'; so is wonton soup if    everybody else is
  16111. having hot-and-sour.
  16112.  
  16113.    :noddy: /nod'ee/ adj.  [UK: from the children's books]    1. Small
  16114. and un-useful, but demonstrating a point.  Noddy programs    are often
  16115. written by people learning a new language or system.  The    archetypal
  16116. noddy program is {hello world}.  Noddy code may be    used to
  16117. demonstrate a feature or bug of a compiler.  May be used of    real
  16118. hardware or software to imply that it isn't worth using.     "This
  16119. editor's a bit noddy."  2. A program that is more or less    instant to
  16120. produce.  In this use, the term does not necessarily    connote
  16121. uselessness, but describes a {hack} sufficiently trivial    that it can
  16122. be written and debugged while carrying on (and during    the space of)
  16123. a normal conversation.  "I'll just throw together a    noddy {awk}
  16124. script to dump all the first fields."  In North    America this might
  16125. be called a {mickey mouse program}.  See    {toy program}.
  16126.  
  16127.    :node: n.  1. [Internet, UUCP] A host machine on the network.     2.
  16128. [MS-DOS BBSes] A dial-in line on a BBS.  Thus an MS-DOS {sysop}
  16129. might say that his BBS has 4 nodes even though it has a single
  16130. machine and no Internet link, confusing an Internet hacker no end.
  16131.  
  16132.    :Nominal Semidestructor: n.  Soundalike slang for `National
  16133. Semiconductor', found among other places in the Networking/2
  16134. networking sources.  During the late 1970s to mid-1980s this    company
  16135. marketed a series of microprocessors including the NS16000    and
  16136. NS32000 and several variants.  At one point early in the great
  16137. microprocessor race, the specs on these chips made them look like
  16138. serious competition for the rising Intel 80x86 and Motorola 680x0
  16139. series.  Unfortunately, the actual parts were notoriously flaky and
  16140. never implemented the full instruction set promised in their
  16141. literature, apparently because the company couldn't get any of the
  16142. mask steppings to work as designed.  They eventually sank without
  16143. trace, joining the Zilog Z8000 and a few even more obscure    also-rans
  16144. in the graveyard of forgotten microprocessors.  Compare    {HP-SUX},
  16145. {AIDX}, {buglix}, {Macintrash}, {Telerat},    {ScumOS}, {sun-stools},
  16146. {Slowlaris}.
  16147.  
  16148.    :non-optimal solution: n.  (also `sub-optimal solution') An
  16149. astoundingly stupid way to do something.  This term is generally
  16150. used in deadpan sarcasm, as its impact is greatest when the person
  16151. speaking looks completely serious.  Compare {stunning}.  See    also
  16152. {Bad Thing}.
  16153.  
  16154.    :nonlinear: adj.  [scientific computation] 1. Behaving in an
  16155. erratic and unpredictable fashion; unstable.  When used to describe
  16156. the behavior of a machine or program, it suggests that said machine
  16157. or program is being forced to run far outside of design
  16158. specifications.  This behavior may be induced by unreasonable
  16159. inputs, or may be triggered when a more mundane bug sends the
  16160. computation far off from its expected course.  2. When describing
  16161. the behavior of a person, suggests a tantrum or a {flame}.     "When
  16162. you talk to Bob, don't mention the drug problem or he'll go
  16163. nonlinear for hours."  In this context, `go nonlinear' connotes
  16164. `blow up out of proportion' (proportion connotes linearity).
  16165.  
  16166.    :nontrivial: adj.  Requiring real thought or significant
  16167. computing power.  Often used as an understated way of saying that a
  16168. problem is quite difficult or impractical, or even entirely
  16169. unsolvable ("Proving P=NP is nontrivial").  The preferred    emphatic
  16170. form is `decidedly nontrivial'.  See {trivial},    {uninteresting},
  16171. {interesting}.
  16172.  
  16173.    :not ready for prime time: adj.  Usable, but only just so; not
  16174. very robust; for internal use only.  Said of a program or device.
  16175. Often connotes that the thing will be made more solid {Real Soon
  16176. Now}.  This term comes from the ensemble name of the original cast
  16177. of "Saturday Night Live", the "Not Ready for Prime Time    Players".
  16178. It has extra flavor for hackers because of the special    (though now
  16179. semi-obsolescent) meaning of {prime time}.  Compare    {beta}.
  16180.  
  16181.    :notwork: /not'werk/ n.  A network, when it is acting    {flaky} or
  16182. is {down}.  Compare {nyetwork}.  Said at IBM to    have originally
  16183. referred to a particular period of flakiness on    IBM's VNET corporate
  16184. network ca. 1988; but there are independent    reports of the term from
  16185. elsewhere.
  16186.  
  16187.    :NP-: /N-P/ pref.  Extremely.  Used to modify adjectives
  16188. describing a level or quality of difficulty; the connotation is
  16189. often `more so than it should be' This is generalized from the
  16190. computer-science terms `NP-hard' and `NP-complete';    NP-complete
  16191. problems all seem to be very hard, but so far no one    has found a
  16192. proof that they are.  NP is    the set of Nondeterministic-Polynomial
  16193. algorithms, those that can    be completed by a nondeterministic Turing
  16194. machine in an amount of    time that is a polynomial function of the
  16195. size of the input; a    solution for one NP-complete problem would
  16196. solve all the others.     "Coding a BitBlt implementation to perform
  16197. correctly in every case    is NP-annoying."
  16198.  
  16199.    Note, however, that strictly speaking this usage is misleading;
  16200. there are plenty of easy problems in class NP.  NP-complete    problems
  16201. are hard not because they are in class NP, but because    they are the
  16202. hardest problems in class NP.
  16203.  
  16204.    :nroff:: /N'rof/  n. [Unix, from "new roff" (see    {{troff}})] A
  16205. companion program to the Unix typesetter {{troff}},    accepting
  16206. identical input but preparing output for terminals and    line printers.
  16207.  
  16208.    :NSA line eater: n.  The National Security Agency trawling
  16209. program sometimes assumed to be reading the net for the    U.S.
  16210. Government's spooks.  Most hackers describe it as a mythical    beast,
  16211. but some believe it actually exists, more aren't sure, and    many
  16212. believe in acting as though it does exist just in case.  Some
  16213. netters put loaded phrases like `KGB', `Uzi', `nuclear    materials',
  16214. `Palestine', `cocaine', and `assassination' in    their {sig block}s in
  16215. a (probably futile) attempt to confuse and    overload the creature.
  16216. The {GNU} version of {EMACS} actually    has a command that randomly
  16217. inserts a bunch of insidious    anarcho-verbiage into your edited text.
  16218.  
  16219.    There is a mainstream variant of this myth involving a `Trunk Line
  16220. Monitor', which supposedly used speech recognition to extract words
  16221. from telephone trunks.  This one was making the rounds in the    late
  16222. 1970s, spread by people who had no idea of then-current    technology
  16223. or the storage, signal-processing, or speech recognition    needs of
  16224. such a project.  On the basis of mass-storage costs alone    it would
  16225. have been cheaper to hire 50 high-school students and just    let them
  16226. listen in.  Speech-recognition technology can't do this    job even now
  16227. (1999), and almost certainly won't in this millennium,    either.  The
  16228. peak of silliness came with a letter to an alternative    paper in New
  16229. Haven, Connecticut, laying out the factoids of this    Big Brotherly
  16230. affair.  The letter writer then revealed his actual    agenda by
  16231. offering -- at an amazing low price, just this once, we    take VISA
  16232. and MasterCard -- a scrambler guaranteed to daunt the    Trunk Trawler
  16233. and presumably allowing the would-be Baader-Meinhof    gangs of the
  16234. world to get on with their business.
  16235.  
  16236.    :NSP: /N-S-P/ n.  Common abbreviation for `Network Service
  16237. Provider', one of the big national or regional companies that
  16238. maintains a portion of the Internet backbone and resells
  16239. connectivity to {ISP}s.  In 1996, major NSPs include ANS, MCI,
  16240. UUNET, and Sprint.  An Internet wholesaler.
  16241.  
  16242.    :nude: adj.  Said of machines delivered without an operating
  16243. system (compare {bare metal}).  "We ordered 50 systems, but    they all
  16244. arrived nude, so we had to spend a an extra weekend with    the
  16245. installation disks."  This usage is a recent innovation    reflecting
  16246. the fact that most IBM-PC clones are now delivered with    an operating
  16247. system pre-installed at the factory.  Other kinds of    hardware are
  16248. still normally delivered without OS, so this term is    particular to
  16249. PC support groups.
  16250.  
  16251.    :nugry: /n[y]oo'gree/  [Usenet, 'newbie' + '-gry'] `. n.     A
  16252. {newbie} who posts a {FAQ} in the rec.puzzles newsgroup,    especially
  16253. if it is a variant of the notorious and unanswerable    "What, besides
  16254. `angry' and `hungry', is the third common English    word that ends in
  16255. -GRY?".  In the newsgroup, the canonical answer    is of course `nugry'
  16256. itself. Plural is `nusgry'    /n[y]oos'gree/. 2. adj. Having the
  16257. qualities of a    nugry.
  16258.  
  16259.    :nuke: /n[y]ook/ vt.  [common] 1. To intentionally    delete the
  16260. entire contents of a given directory or storage volume.     "On Unix,
  16261. `rm -r /usr' will nuke everything in the usr    filesystem."  Never
  16262. used for accidental deletion; contrast    {blow away}.  2. Syn. for
  16263. {dike}, applied to smaller things    such as files, features, or code
  16264. sections.  Often used to express a    final verdict.  "What do you want
  16265. me to do with that 80-meg    {wallpaper} file?"  "Nuke it."  3. Used of
  16266. processes as well    as files; nuke is a frequent verbal alias for
  16267. `kill -9' on    Unix.  4. On IBM PCs, a bug that results in {fandango
  16268. on core}    can trash the operating system, including the FAT (the
  16269. in-core copy    of the disk block chaining information).  This can
  16270. utterly scramble    attached disks, which are then said to have been
  16271. `nuked'.  This    term is also used of analogous lossages on
  16272. Macintoshes and other    micros without memory protection.
  16273.  
  16274.    :number-crunching: n.  [common] Computations of a    numerical
  16275. nature, esp. those that make extensive use of    floating-point
  16276. numbers.  The only thing {Fortrash} is good for.     This term is in
  16277. widespread informal use outside hackerdom and even    in mainstream
  16278. slang, but has additional hackish connotations:    namely, that the
  16279. computations are mindless and involve massive use    of {brute force}.
  16280. This is not always {evil}, esp. if it    involves ray tracing or
  16281. fractals or some other use that makes    {pretty pictures}, esp. if
  16282. such pictures can be used as    {wallpaper}.  See also {crunch}.
  16283.  
  16284.    :numbers: n.  [scientific computation] Output of a computation
  16285. that may not be significant results but at least indicate that the
  16286. program is running.  May be used to placate management, grant
  16287. sponsors, etc.  `Making numbers' means running a program because
  16288. output -- any output, not necessarily meaningful output -- is    needed
  16289. as a demonstration of progress.  See {pretty pictures},    {math-out},
  16290. {social science number}.
  16291.  
  16292.    :NUXI problem: /nuk'see pro'bl*m/ n.  Refers to the problem    of
  16293. transferring data between machines with differing byte-order.     The
  16294. string `UNIX' might look like `NUXI' on a machine with a    different
  16295. `byte sex' (e.g., when transferring data from a    {little-endian} to a
  16296. {big-endian}, or vice-versa).  See also    {middle-endian}, {swab}, and
  16297. {bytesexual}.
  16298.  
  16299.    :nybble: /nib'l/ (alt. `nibble') n.  [from v.     `nibble' by
  16300. analogy with `bite' => `byte'] Four bits;    one {hex} digit; a
  16301. half-byte.  Though `byte' is now techspeak,    this useful relative is
  16302. still jargon.  Compare {{byte}}; see also    {bit}. The more mundane
  16303. spelling "nibble" is also commonly    used.  Apparently the `nybble'
  16304. spelling is uncommon in Commonwealth    Hackish, as British orthography
  16305. would suggest the pronunciation    /ni:'bl/.
  16306.  
  16307.    Following `bit', `byte' and `nybble' there have been quite a few
  16308. analogical attempts to construct unambiguous terms for bit blocks    of
  16309. other sizes.  All of these are strictly jargon, not techspeak,    and
  16310. not very common jargon at that (most hackers would recognize    them in
  16311. context but not use them spontaneously).  We collect them    here for
  16312. reference together with the ambiguous techspeak terms    `word',
  16313. `half-word' and `double word'; some (indicated) have    substantial
  16314. information separate entries.
  16315.     2 bits:
  16316.           {crumb}, {quad}, {quarter}, tayste
  16317.  
  16318.     4 bits:
  16319.           nybble
  16320.  
  16321.     5 bits:
  16322.           {nickle}
  16323.  
  16324.     10 bits:
  16325.           {deckle}
  16326.  
  16327.     16 bits:
  16328.           playte, {chawmp} (on a 32-bit machine), word (on a 16-bit
  16329.           machine), half-word (on a 32-bit machine).
  16330.  
  16331.     18 bits:
  16332.           {chawmp} (on a 36-bit machine), half-word (on a 36-bit
  16333.           machine)
  16334.  
  16335.     32 bits:
  16336.           dynner, {gawble} (on a 32-bit machine), word (on a 32-bit
  16337.           machine), longword (on a 16-bit machine).
  16338.  
  16339.     36:
  16340.           word (on a 36-bit machine)
  16341.  
  16342.     48 bits:
  16343.           {gawble} (under circumstances that remain obscure)
  16344.  
  16345.     64 bits
  16346.           double word (on a 32-bit machine)
  16347.  
  16348. The fundamental motivation for most of these jargon terms (aside
  16349. from the normal hackerly enjoyment of punning wordplay) is the
  16350. extreme ambiguity of the term `word' and its derivatives.
  16351.  
  16352.    :nyetwork: /nyet'werk/ n.  [from Russian `nyet' = no] A    network,
  16353. when it is acting {flaky} or is {down}.  Compare    {notwork}.
  16354.  
  16355. = O =
  16356. =====
  16357.  
  16358.    :Ob-: /ob/ pref.  Obligatory.  A piece of {netiquette}
  16359. acknowledging that the author has been straying from the    newsgroup's
  16360. charter topic.  For example, if a posting in alt.sex is    a response
  16361. to a part of someone else's posting that has nothing    particularly to
  16362. do with sex, the author may append `ObSex' (or    `Obsex') and toss off
  16363. a question or vignette about some unusual    erotic act.  It is
  16364. considered a sign of great {winnitude} when    one's Obs are more
  16365. interesting than other people's whole postings.
  16366.  
  16367.    :Obfuscated C Contest: n.  (in full, the `International
  16368. Obfuscated C Code Contest', or IOCCC) An annual contest run since
  16369. 1984 over Usenet by Landon Curt Noll and friends.  The overall
  16370. winner is whoever produces the most unreadable, creative, and
  16371. bizarre (but working) C program; various other prizes are awarded    at
  16372. the judges' whim.  C's terse syntax and macro-preprocessor
  16373. facilities give contestants a lot of maneuvering room.  The winning
  16374. programs often manage to be simultaneously (a) funny, (b)
  16375. breathtaking works of art, and (c) horrible examples of how    _not_ to
  16376. code in C.
  16377.  
  16378.    This relatively short and sweet entry might help convey the flavor
  16379. of obfuscated C:
  16380.  
  16381.      /*
  16382.       * HELLO WORLD program
  16383.       * by Jack Applin and Robert Heckendorn, 1985
  16384.       * (Note: depends on being able to modify elements of argv[],
  16385.       * which is not guaranteed by ANSI and often not possible.)
  16386.       */
  16387.      main(v,c)char**c;{for(v[c++]="Hello, world!\n)";
  16388.      (!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));
  16389.      **c=!c)write(!!*c,*c,!!**c);}
  16390.  
  16391.    Here's another good one:
  16392.  
  16393.      /*
  16394.       * Program to compute an approximation of pi
  16395.       * by Brian Westley, 1988
  16396.       * (requires pcc macro concatenation; try gcc -traditional-cpp)
  16397.       */
  16398.  
  16399.      #define _ -F<00||--F-OO--;
  16400.      int F=00,OO=00;
  16401.      main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
  16402.      {
  16403.                  _-_-_-_
  16404.             _-_-_-_-_-_-_-_-_
  16405.          _-_-_-_-_-_-_-_-_-_-_-_
  16406.        _-_-_-_-_-_-_-_-_-_-_-_-_-_
  16407.       _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  16408.       _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  16409.      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  16410.      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  16411.      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  16412.      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  16413.       _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  16414.       _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  16415.        _-_-_-_-_-_-_-_-_-_-_-_-_-_
  16416.          _-_-_-_-_-_-_-_-_-_-_-_
  16417.              _-_-_-_-_-_-_-_
  16418.                  _-_-_-_
  16419.      }
  16420.  
  16421. Note that this program works by computing its own area.  For more
  16422. digits, write a bigger program.  See also {hello world}.
  16423.  
  16424.    The IOCCC has an official home page at    `http://www.ioccc.org'.
  16425.  
  16426.    :obi-wan error: /oh'bee-won` er'*r/ n.  [RPI, from    `off-by-one'
  16427. and the Obi-Wan Kenobi character in "Star    Wars"] A loop of some sort
  16428. in which the index is off by 1.  Common    when the index should have
  16429. started from 0 but instead started from    1.  A kind of {off-by-one
  16430. error}.  See also {zeroth}.
  16431.  
  16432.    :Objectionable-C: n.  Hackish take on "Objective-C", the    name of
  16433. an object-oriented dialect of C in competition with the    better-known
  16434. C++ (it is used to write native applications on the    NeXT machine).
  16435. Objectionable-C uses a Smalltalk-like syntax, but    lacks the
  16436. flexibility of Smalltalk method calls, and (like many    such efforts)
  16437. comes frustratingly close to attaining the {Right    Thing} without
  16438. actually doing so.
  16439.  
  16440.    :obscure: adj.  Used in an exaggeration of its normal meaning,    to
  16441. imply total incomprehensibility.  "The reason for that last    crash is
  16442. obscure."  "The `find(1)' command's syntax is    obscure!"  The phrase
  16443. `moderately obscure' implies that    something could be figured out but
  16444. probably isn't worth the    trouble.  The construction `obscure in the
  16445. extreme' is the    preferred emphatic form.
  16446.  
  16447.    :octal forty: /ok'tl for'tee/ n.  Hackish way of saying    "I'm
  16448. drawing a blank."  Octal 40 is the {{ASCII}} space    character,
  16449. 0100000; by an odd coincidence, {hex} 40 (01000000)    is the
  16450. {{EBCDIC}} space character.  See {wall}.
  16451.  
  16452.    :off the trolley: adj.  Describes the behavior of a    program that
  16453. malfunctions and goes catatonic, but doesn't actually    {crash} or
  16454. abort.  See {glitch}, {bug}, {deep space},    {wedged}.
  16455.  
  16456.    This term is much older than computing, and is (uncommon) slang
  16457. elsewhere.  A trolley is the small wheel that trolls, or runs
  16458. against, the heavy wire that carries the current to run a    streetcar.
  16459. It's at the end of the long pole (the trolley pole)    that reaches
  16460. from the roof of the streetcar to the overhead line.     When the
  16461. trolley stops making contact with the wire (from passing    through a
  16462. switch, going over bumpy track, or whatever), the    streetcar comes to
  16463. a halt, (usually) without crashing.  The    streetcar is then said to
  16464. be off the trolley, or off the wire.     Later on, trolley came to mean
  16465. the streetcar itself.  Since    streetcars became common in the 1890s,
  16466. the term is more than 100    years old.  Nowadays, trolleys are only
  16467. seen on historic    streetcars, since modern streetcars use pantographs
  16468. to contact the    wire.
  16469.  
  16470.    :off-by-one error: n.  [common] Exceedingly common error    induced
  16471. in many ways, such as by starting at 0 when you should have    started
  16472. at 1 or vice-versa, or by writing `< N' instead of    `<= N' or
  16473. vice-versa.  Also applied to giving something to the    person next to
  16474. the one who should have gotten it.  Often confounded    with {fencepost
  16475. error}, which is properly a particular subtype    of it.
  16476.  
  16477.    :offline: adv.  Not now or not here.  "Let's take this    discussion
  16478. offline."  Specifically used on {Usenet} to suggest    that a
  16479. discussion be moved off a public newsgroup to email.
  16480.  
  16481.    :ogg: /og/ v.  [CMU] 1. In the multi-player space combat    game
  16482. Netrek, to execute kamikaze attacks against enemy ships which    are
  16483. carrying armies or occupying strategic positions.  Named during    a
  16484. game in which one of the players repeatedly used the tactic while
  16485. playing Orion ship G, showing up in the player list as "Og".     This
  16486. trick has been roundly denounced by those who would return to    the
  16487. good old days when the tactic of dogfighting was dominant, but    as
  16488. Sun Tzu wrote, "What is of supreme importance in war is to    attack
  16489. the enemy's strategy, not his tactics."  However, the    traditional
  16490. answer to the newbie question "What does ogg mean?"     is just "Pick
  16491. up some armies and I'll show you."  2. In other    games, to forcefully
  16492. attack an opponent with the expectation that    the resources expended
  16493. will be renewed faster than the opponent    will be able to regain his
  16494. previous advantage.  Taken more    seriously as a tactic since it has
  16495. gained a simple name.  3. To do    anything forcefully, possibly
  16496. without consideration of the drain on    future resources.  "I guess
  16497. I'd better go ogg the problem set    that's due tomorrow."  "Whoops!  I
  16498. looked down at the map for a    sec and almost ogged that oncoming car."
  16499.  
  16500.    :-oid: suff.  [from Gree suffix -oid = `in the image    of'] 1. Used
  16501. as in mainstream slang English to indicate a poor    imitation, a
  16502. counterfeit, or some otherwise slightly bogus    resemblance.  Hackers
  16503. will happily use it with all sorts of    non-Greco/Latin stem words
  16504. that wouldn't keep company with it in    mainstream English.  For
  16505. example, "He's a nerdoid" means that he    superficially resembles a
  16506. nerd but can't make the grade; a    `modemoid' might be a 300-baud box
  16507. (Real Modems run at 28.8 or    up); a `computeroid' might be any {bitty
  16508. box}.  The word    `keyboid' could be used to describe a {chiclet
  16509. keyboard}, but    would have to be written; spoken, it would confuse
  16510. the listener as    to the speaker's city of origin.  2. More
  16511. specifically, an    indicator for `resembling an android' which in the
  16512. past has been    confined to science-fiction fans and hackers.  It too
  16513. has recently    (in 1991) started to go mainstream (most notably in the
  16514. term    `trendoid' for victims of terminal hipness).  This is probably
  16515.  traceable to the popularization of the term {droid} in    "Star Wars"
  16516. and its sequels.  (See also {windoid}.)
  16517.  
  16518.    Coinages in both forms have been common in science fiction for at
  16519. least fifty years, and hackers (who are often SF fans) have    probably
  16520. been making `-oid' jargon for almost that long    [though GLS and I can
  16521. personally confirm only that they were    already common in the
  16522. mid-1970s --ESR].
  16523.  
  16524.    :old fart: n.  Tribal elder.  A title self-assumed with
  16525. remarkable frequency by (esp.) Usenetters who have been    programming
  16526. for more than about 25 years; often appears in {sig    block}s attached
  16527. to Jargon File contributions of great    archeological significance.
  16528. This is a term of insult in the second    or third person but one of
  16529. pride in first person.
  16530.  
  16531.    :Old Testament: n.  [C programmers] The first edition of    {K&R},
  16532. the sacred text describing {Classic C}.
  16533.  
  16534.    :one-banana problem: n.  At mainframe shops, where the    computers
  16535. have operators for routine administrivia, the programmers    and
  16536. hardware people tend to look down on the operators and claim    that a
  16537. trained monkey could do their job.  It is frequently    observed that
  16538. the incentives that would be offered said monkeys can    be used as a
  16539. scale to describe the difficulty of a task.  A    one-banana problem is
  16540. simple; hence, "It's only a one-banana job    at the most; what's
  16541. taking them so long?"
  16542.  
  16543.    At IBM, folklore divides the world into one-, two-, and
  16544. three-banana problems.  Other cultures have different hierarchies
  16545. and may divide them more finely; at ICL, for example, five grapes    (a
  16546. bunch) equals a banana.  Their upper limit for the in-house
  16547. {sysape}s is said to be two bananas and three grapes (another    source
  16548. claims it's three bananas and one grape, but observes    "However, this
  16549. is subject to local variations, cosmic rays and    ISO").  At a
  16550. complication level any higher than that, one asks the    manufacturers
  16551. to send someone around to check things.
  16552.  
  16553.    See also {Infinite-Monkey Theorem}.
  16554.  
  16555.    :one-line fix: n.  Used (often sarcastically) of a change to a
  16556. program that is thought to be trivial or insignificant right up to
  16557. the moment it crashes the system.  Usually `cured' by another
  16558. one-line fix.  See also {I didn't change anything!}
  16559.  
  16560.    :one-liner wars: n.  A game popular among hackers who code in    the
  16561. language APL (see {write-only language} and {line    noise}).  The
  16562. objective is to see who can code the most interesting    and/or useful
  16563. routine in one line of operators chosen from APL's    exceedingly
  16564. {hairy} primitive set.  A similar amusement was    practiced among
  16565. {TECO} hackers and is now popular among    {Perl} aficionados.
  16566.  
  16567.    Ken Iverson, the inventor of APL, has been credited with a
  16568. one-liner that, given a number N, produces a list of the    prime
  16569. numbers from 1 to N inclusive.  It looks like this:
  16570.  
  16571.        (2 = 0 +.= T o.| T) / T <- iN
  16572.  
  16573.    where `o' is the APL null character, the assignment arrow is a
  16574. single character, and `i' represents the APL iota.
  16575.  
  16576.    Here's equivalent {Perl}:
  16577.  
  16578.              perl -le '$_ = 1; (1 x $_) !~ /^(11+)\1+$/ && print while $_++'
  16579.  
  16580.    :ooblick: /oo'blik/ n.  [from the Dr. Seuss title    "Bartholomew
  16581. and the Oobleck"; the spelling `oobleck' is still    current in the
  16582. mainstream] A bizarre semi-liquid sludge made from    cornstarch and
  16583. water.  Enjoyed among hackers who make batches    during playtime at
  16584. parties for its amusing and extremely    non-Newtonian behavior; it
  16585. pours and splatters, but resists rapid    motion like a solid and will
  16586. even crack when hit by a hammer.     Often found near lasers.
  16587.  
  16588.    Here is a field-tested ooblick recipe contributed by GLS:
  16589.  
  16590. 1 cup cornstarch
  16591. 1 cup baking soda
  16592. 3/4 cup water
  16593. N drops of food coloring
  16594. This recipe isn't quite as non-Newtonian as a pure cornstarch
  16595. ooblick, but has an appropriately slimy feel.
  16596.  
  16597.    Some, however, insist that the notion of an ooblick _recipe_    is
  16598. far too mechanical, and that it is best to add the water in    small
  16599. increments so that the various mixed states the cornstarch    goes
  16600. through as it _becomes_ ooblick can be grokked in    fullness by many
  16601. hands.  For optional ingredients of this    experience, see the
  16602. "{Ceremonial Chemicals}" section of    Appendix B.
  16603.  
  16604.    :op: /op/ n.  1. In England and Ireland, common verbal
  16605. abbreviation for `operator', as in system operator.  Less common in
  16606. the U.S., where {sysop} seems to be preferred.  2. [IRC] Someone    who
  16607. is endowed with privileges on {IRC}, not limited to a    particular
  16608. channel.  These are generally people who are in charge    of the IRC
  16609. server at their particular site.  Sometimes used    interchangeably
  16610. with {CHOP}.  Compare {sysop}.
  16611.  
  16612.    :open: n.  Abbreviation for `open (or left) parenthesis' --    used
  16613. when necessary to eliminate oral ambiguity.  To read aloud the    LISP
  16614. form (DEFUN FOO (X) (PLUS X 1)) one might say: "Open defun    foo, open
  16615. eks close, open, plus eks one, close close."
  16616.  
  16617.    :open source: n.  [common; also adj. `open-source']    Term coined
  16618. in March 1998 following the Mozilla release to    describe software
  16619. distributed in source under licenses guaranteeing    anybody rights to
  16620. freely use, modify, and redistribute, the code.     The intent was to
  16621. be able to sell the hackers' ways of doing    software to industry and
  16622. the mainstream by avoid the negative    connotations (to {suit}s) of
  16623. the term "free software".  For    discussion of the followon tactics
  16624. and their consequences, see    the Open Source Initiative
  16625. (http://www.opensource.org)    site.
  16626.  
  16627.    :open switch: n.  [IBM: prob. from railroading] An    unresolved
  16628. question, issue, or problem.
  16629.  
  16630.    :operating system:: n.  [techspeak] (Often abbreviated `OS')    The
  16631. foundation software of a machine; that which    schedules tasks,
  16632. allocates storage, and presents a default    interface to the user
  16633. between applications.  The facilities an    operating system provides
  16634. and its general design philosophy exert    an extremely strong
  16635. influence on programming style and on the    technical cultures that
  16636. grow up around its host machines.  Hacker    folklore has been shaped
  16637. primarily by the {{Unix}}, {{ITS}},    {{TOPS-10}},
  16638. {{TOPS-20}}/{{TWENEX}}, {{WAITS}}, {{CP/M}},    {{MS-DOS}}, and
  16639. {{Multics}} operating systems (most importantly    by ITS and Unix).
  16640.  
  16641.    :optical diff: n.  See {vdiff}.
  16642.  
  16643.    :optical grep: n.  See {vgrep}.
  16644.  
  16645.    :optimism: n.  What a programmer is full of after fixing the    last
  16646. bug and before discovering the _next_ last bug.  Fred    Brooks's book
  16647. "The Mythical Man-Month" (See "Brooks's    Law") contains the following
  16648. paragraph that describes this    extremely well:
  16649.  
  16650.      All programmers are optimists.  Perhaps this modern sorcery
  16651.      especially attracts those who believe in happy endings and fairy
  16652.      godmothers.  Perhaps the hundreds of nitty frustrations drive away
  16653.      all but those who habitually focus on the end goal.  Perhaps it is
  16654.      merely that computers are young, programmers are younger, and the
  16655.      young are always optimists.  But however the selection process
  16656.      works, the result is indisputable: "This time it will surely run,"
  16657.      or "I just found the last bug.".
  16658.  
  16659. See also {Lubarsky's Law of Cybernetic Entomology}.
  16660.  
  16661.    :Orange Book: n.  The U.S. Government's standards document
  16662. "Trusted Computer System Evaluation Criteria, DOD standard
  16663. 5200.28-STD, December, 1985" which characterize secure computing
  16664. architectures and defines levels A1 (most secure) through D    (least).
  16665. Modern Unixes are roughly C2.  See also {{crayola    books}}, {{book
  16666. titles}}.
  16667.  
  16668.    :oriental food:: n.  Hackers display an intense tropism    towards
  16669. oriental cuisine, especially Chinese, and especially of the    spicier
  16670. varieties such as Szechuan and Hunan.  This phenomenon    (which has
  16671. also been observed in subcultures that overlap heavily    with
  16672. hackerdom, most notably science-fiction fandom) has never been
  16673. satisfactorily explained, but is sufficiently intense that one can
  16674. assume the target of a hackish dinner expedition to be the best
  16675. local Chinese place and be right at least three times out of four.
  16676. See also {ravs}, {great-wall}, {stir-fried random},    {laser chicken},
  16677. {Yu-Shiang Whole Fish}.  Thai, Indian,    Korean, and Vietnamese
  16678. cuisines are also quite popular.
  16679.  
  16680.    :orphan: n.  [Unix] A process whose parent has died; one
  16681. inherited by `init(1)'.  Compare {zombie}.
  16682.  
  16683.    :orphaned i-node: /or'f*nd i:'nohd/ n.  [Unix]    1. [techspeak] A
  16684. file that retains storage but no longer appears in    the directories
  16685. of a filesystem.  2. By extension, a pejorative for    any person no
  16686. longer serving a useful function within some    organization, esp.
  16687. {lion food} without subordinates.
  16688.  
  16689.    :orthogonal: adj.  [from mathematics] Mutually independent;    well
  16690. separated; sometimes, irrelevant to.  Used in a generalization    of
  16691. its mathematical meaning to describe sets of primitives or
  16692. capabilities that, like a vector basis in geometry, span the entire
  16693. `capability space' of the system and are in some sense
  16694. non-overlapping or mutually independent.  For example, in
  16695. architectures such as the PDP-11 or VAX where all or nearly all
  16696. registers can be used interchangeably in any role with respect to
  16697. any instruction, the register set is said to be orthogonal.  Or, in
  16698. logic, the set of operators `not' and `or' is orthogonal, but    the
  16699. set `nand', `or', and `not' is not (because any one of    these can be
  16700. expressed in terms of the others).  Also used in    comments on human
  16701. discourse: "This may be orthogonal to the    discussion, but...."
  16702.  
  16703.    :OS: /O-S/  1. [Operating System] n. An abbreviation heavily    used
  16704. in email, occasionally in speech.  2. n. obs. On ITS, an    output spy.
  16705. See "{OS and JEDGAR}" in Appendix A.
  16706.  
  16707.    :OS/2: /O S too/ n.  The anointed successor to MS-DOS for    Intel
  16708. 286- and 386-based micros; proof that IBM/Microsoft couldn't    get it
  16709. right the second time, either.  Often called `Half-an-OS'.
  16710. Mentioning it is usually good for a cheap laugh among hackers --    the
  16711. design was so {baroque}, and the implementation of 1.x so    bad, that
  16712. 3 years after introduction you could still count the    major {app}s
  16713. shipping for it on the fingers of two hands -- in    unary.  The 2.x
  16714. versions are said to have improved somewhat, and    informed hackers
  16715. now rate them superior to Microsoft Windows (an    endorsement which,
  16716. however, could easily be construed as damning    with faint praise).
  16717. See {monstrosity}, {cretinous},    {second-system effect}.
  16718.  
  16719.    :OSU: /O-S-U/ n. obs.  [TMRC] Acronym for Officially    Sanctioned
  16720. User; a user who is recognized as such by the computer    authorities
  16721. and allowed to use the computer above the objections of    the security
  16722. monitor.
  16723.  
  16724.    :OTOH: //  [Usenet; very common] On The Other Hand.
  16725.  
  16726.    :out-of-band: adj.  [from telecommunications and network    theory]
  16727. 1. In software, describes values of a function which are    not in its
  16728. `natural' range of return values, but are rather    signals that some
  16729. kind of exception has occurred.  Many C    functions, for example,
  16730. return a nonnegative integral value, but    indicate failure with an
  16731. out-of-band return value of -1.     Compare {hidden flag}, {green
  16732. bytes}, {fence}.  2. Also    sometimes used to describe what
  16733. communications people call    `shift characters', such as the ESC that
  16734. leads control sequences    for many terminals, or the level shift
  16735. indicators in the old 5-bit    Baudot codes.  3. In personal
  16736. communication, using methods other    than email, such as telephones or
  16737. {snail-mail}.
  16738.  
  16739.    :overclock: /oh'vr-klok'/ vt.  To operate a CPU or other    digital
  16740. logic device at a rate higher than it was designed for,    under the
  16741. assumption that the manufacturer put some {slop} into    the
  16742. specification to account for manufacturing    tolerances. Overclocking
  16743. something can result in intermittent    {crash}es, and can even burn
  16744. things out, since power dissipation    is directly proportional to
  16745. {clock} frequency. People who make a    hobby of this are sometimes
  16746. called "overclockers"; they are    thrilled that they can run their
  16747. 450MHz CPU at 500MHz, even though    they can only tell the difference
  16748. by running a {benchmark} program.
  16749.  
  16750.    :overflow bit: n.  1. [techspeak] A {flag} on some    processors
  16751. indicating an attempt to calculate a result too large    for a register
  16752. to hold.  2. More generally, an indication of any    kind of capacity
  16753. overload condition.  "Well, the {{Ada}}    description was {baroque}
  16754. all right, but I could hack it OK    until they got to the exception
  16755. handling ... that set my    overflow bit."  3. The hypothetical bit
  16756. that will be set if a    hacker doesn't get to make a trip to the Room
  16757. of Porcelain    Fixtures: "I'd better process an internal interrupt
  16758. before the    overflow bit gets set."
  16759.  
  16760.    :overflow pdl: n.  [MIT] The place where you put things when    your
  16761. {PDL} is full.  If you don't have one and too many things    get
  16762. pushed, you forget something.  The overflow pdl for a person's
  16763. memory might be a memo pad.  This usage inspired the following
  16764. doggerel:
  16765.  
  16766.      Hey, diddle, diddle
  16767.      The overflow pdl
  16768.      To get a little more stack;
  16769.      If that's not enough
  16770.      Then you lose it all,
  16771.      And have to pop all the way back.
  16772.      -The Great Quux
  16773.  
  16774.    The term `pdl' (see {PDL}) seems to be primarily an MITism;
  16775. outside MIT this term is replaced by `overflow {stack}' (but    that
  16776. wouldn't rhyme with `diddle').
  16777.  
  16778.    :overrun: n.  1. [techspeak] Term for a frequent consequence    of
  16779. data arriving faster than it can be consumed, esp. in serial    line
  16780. communications.  For example, at 9600 baud there is almost    exactly
  16781. one character per millisecond, so if a {silo} can hold    only two
  16782. characters and the machine takes longer than 2 msec to get    to
  16783. service the interrupt, at least one character will be lost.     2. Also
  16784. applied to non-serial-I/O communications.  "I forgot to    pay my
  16785. electric bill due to mail overrun."  "Sorry, I got four    phone calls
  16786. in 3 minutes last night and lost your message to    overrun."  When
  16787. {thrash}ing at tasks, the next person to make a    request might be
  16788. told "Overrun!"  Compare {firehose syndrome}.     3. More loosely, may
  16789. refer to a {buffer overflow} not    necessarily related to processing
  16790. time (as in {overrun screw}).
  16791.  
  16792.    :overrun screw: n.  [C programming] A variety of {fandango    on
  16793. core} produced by scribbling past the end of an array (C
  16794. implementations typically have no checks for this error).  This is
  16795. relatively benign and easy to spot if the array is static; if it is
  16796. auto, the result may be to {smash the stack} -- often resulting    in
  16797. {heisenbug}s of the most diabolical subtlety.  The term    `overrun
  16798. screw' is used esp. of scribbles beyond the end of    arrays allocated
  16799. with `malloc(3)'; this typically trashes the    allocation header for
  16800. the next block in the {arena}, producing    massive lossage within
  16801. malloc and often a core dump on the next    operation to use `stdio(3)'
  16802. or `malloc(3)' itself.  See    {spam}, {overrun}; see also {memory
  16803. leak}, {memory    smash}, {aliasing bug}, {precedence lossage},
  16804. {fandango on    core}, {secondary damage}.
  16805.  
  16806. = P =
  16807. =====
  16808.  
  16809.    :P-mail: n.  [rare] Physical mail, as opposed to {email}.
  16810. Synonymous with {snail-mail}, but much less common.
  16811.  
  16812.    :P.O.D.: /P-O-D/  [rare] Acronym for `Piece Of Data' (as    opposed
  16813. to a code section).  See also {pod}.
  16814.  
  16815.    :padded cell: n.  Where you put {luser}s so they can't hurt
  16816. anything.  A program that limits a luser to a carefully restricted
  16817. subset of the capabilities of the host system (for example, the
  16818. `rsh(1)' utility on USG Unix).  Note that this is different    from an
  16819. {iron box} because it is overt and not aimed at    enforcing security
  16820. so much as protecting others (and the luser)    from the consequences
  16821. of the luser's boundless naivete (see    {naive}).  Also `padded cell
  16822. environment'.
  16823.  
  16824.    :page in: v.  [MIT] 1. To become aware of one's surroundings
  16825. again after having paged out (see {page out}).  Usually confined    to
  16826. the sarcastic comment: "Eric pages in, {film at 11}!"     2. Syn. `swap
  16827. in'; see {swap}.
  16828.  
  16829.    :page out: vi.  [MIT] 1. To become unaware of one's    surroundings
  16830. temporarily, due to daydreaming or preoccupation.     "Can you repeat
  16831. that?  I paged out for a minute."  See {page    in}.  Compare {glitch},
  16832. {thinko}.  2. Syn. `swap out'; see    {swap}.
  16833.  
  16834.    :pain in the net: n.  A {flamer}.
  16835.  
  16836.    :Pangloss parity: n.  [from Dr. Pangloss, the eternal optimist    in
  16837. Voltaire's "Candide"] In corporate DP shops, a common    condition of
  16838. severe but equally shared {lossage} resulting from    the theory that
  16839. as long as everyone in the organization has the    exactly the _same_
  16840. model of obsolete computer, everything will    be fine.
  16841.  
  16842.    :paper-net: n.  Hackish way of referring to the postal    service,
  16843. analogizing it to a very slow, low-reliability network.     Usenet {sig
  16844. block}s sometimes include a "Paper-Net:" header    just before the
  16845. sender's postal address; common variants of this    are "Papernet" and
  16846. "P-Net".  Note that the standard    {netiquette} guidelines discourage
  16847. this practice as a waste of    bandwidth, since netters are quite
  16848. unlikely to casually use postal    addresses.  Compare {voice-net},
  16849. {snail-mail}, {P-mail}.
  16850.  
  16851.    :param: /p*-ram'/ n.  [common] Shorthand for    `parameter'.  See
  16852. also {parm}; compare {arg}, {var}.
  16853.  
  16854.    :PARC: n.  See {XEROX PARC}.
  16855.  
  16856.    :parent message: n.  What a {followup} follows up.
  16857.  
  16858.    :parity errors: pl.n.  Little lapses of attention or (in    more
  16859. severe cases) consciousness, usually brought on by having    spent all
  16860. night and most of the next day hacking.  "I need to go    home and
  16861. crash; I'm starting to get a lot of parity errors."     Derives from a
  16862. relatively common but nearly always correctable    transient error in
  16863. memory hardware. It predates RAM; in fact, this    term is reported to
  16864. have already have been in use in its jargoin    sense back in the 1960s
  16865. when magnetic cores ruled.  Parity errors    can also afflict mass
  16866. storage and serial communication lines; this    is more serious because
  16867. not always correctable.
  16868.  
  16869.    :Parkinson's Law of Data: prov.  "Data expands to fill    the space
  16870. available for storage"; buying more memory encourages    the use of
  16871. more memory-intensive techniques.  It has been observed    since the
  16872. mid-1980s that the memory usage of evolving systems tends    to double
  16873. roughly once every 18 months.  Fortunately, memory    density available
  16874. for constant dollars also tends to about double    once every 18 months
  16875. (see {Moore's Law}); unfortunately, the    laws of physics guarantee
  16876. that the latter cannot continue    indefinitely.
  16877.  
  16878.    :parm: /parm/ n.  Further-compressed form of {param}.     This term
  16879. is an IBMism, and written use is almost unknown    outside IBM shops;
  16880. spoken /parm/ is more widely distributed, but    the synonym {arg} is
  16881. favored among hackers.  Compare {arg},    {var}.
  16882.  
  16883.    :parse: [from linguistic terminology] vt.  1. To determine the
  16884. syntactic structure of a sentence or other utterance (close to the
  16885. standard English meaning).  "That was the one I saw you."  "I    can't
  16886. parse that."  2. More generally, to understand or    comprehend.  "It's
  16887. very simple; you just kretch the glims and then    aos the zotz."  "I
  16888. can't parse that."  3. Of fish, to have to    remove the bones
  16889. yourself.  "I object to parsing fish", means "I    don't want to get a
  16890. whole fish, but a sliced one is okay".  A    `parsed fish' has been
  16891. deboned.  There is some controversy over    whether `unparsed' should
  16892. mean `bony', or also mean    `deboned'.
  16893.  
  16894.    :Pascal:: n.  An Algol-descended language designed by    Niklaus
  16895. Wirth on the CDC 6600 around 1967-68 as an instructional    tool for
  16896. elementary programming.  This language, designed primarily    to keep
  16897. students from shooting themselves in the foot and thus    extremely
  16898. restrictive from a general-purpose-programming point of    view, was
  16899. later promoted as a general-purpose tool and, in fact,    became the
  16900. ancestor of a large family of languages including    Modula-2 and
  16901. {{Ada}} (see also {bondage-and-discipline    language}).  The hackish
  16902. point of view on Pascal was probably best    summed up by a devastating
  16903. (and, in its deadpan way, screamingly    funny) 1981 paper by Brian
  16904. Kernighan (of {K&R} fame) entitled    "Why Pascal is Not My Favorite
  16905. Programming Language", which    was turned down by the technical
  16906. journals but circulated widely via    photocopies.  It was eventually
  16907. published in "Comparing and    Assessing Programming Languages", edited
  16908. by Alan Feuer and Narain    Gehani (Prentice-Hall, 1984).  Part of his
  16909. discussion is worth    repeating here, because its criticisms are still
  16910. apposite to Pascal    itself after ten years of improvement and could
  16911. also stand as an    indictment of many other bondage-and-discipline
  16912. languages.  At the    end of a summary of the case against Pascal,
  16913. Kernighan wrote:
  16914.  
  16915.      9. There is no escape
  16916.  
  16917.      This last point is perhaps the most important.  The language is
  16918.      inadequate but circumscribed, because there is no way to escape its
  16919.      limitations.  There are no casts to disable the type-checking when
  16920.      necessary.  There is no way to replace the defective run-time
  16921.      environment with a sensible one, unless one controls the compiler
  16922.      that defines the "standard procedures".  The language is closed.
  16923.  
  16924.      People who use Pascal for serious programming fall into a fatal
  16925.      trap.  Because the language is impotent, it must be extended.  But
  16926.      each group extends Pascal in its own direction, to make it look
  16927.      like whatever language they really want.  Extensions for separate
  16928.      compilation, FORTRAN-like COMMON, string data types, internal
  16929.      static variables, initialization, octal numbers, bit operators,
  16930.      etc., all add to the utility of the language for one group but
  16931.      destroy its portability to others.
  16932.  
  16933.      I feel that it is a mistake to use Pascal for anything much beyond
  16934.      its original target.  In its pure form, Pascal is a toy language,
  16935.      suitable for teaching but not for real programming.
  16936.  
  16937. Pascal has since been almost entirely displaced (by {C}) from the
  16938. niches it had acquired in serious applications and systems
  16939. programming, but retains some popularity as a hobbyist language in
  16940. the MS-DOS and Macintosh worlds.
  16941.  
  16942.    :pastie: /pay'stee/ n.  An adhesive-backed label designed to    be
  16943. attached to a key on a keyboard to indicate some non-standard
  16944. character which can be accessed through that key.  Pasties are
  16945. likely to be used in APL environments, where almost every key is
  16946. associated with a special character.  A pastie on the R key, for
  16947. example, might remind the user that it is used to generate the    rho
  16948. character.  The term properly refers to    nipple-concealing devices
  16949. formerly worn by strippers in concession    to indecent-exposure laws;
  16950. compare {tits on a keyboard}.
  16951.  
  16952.    :patch:  1. n. A temporary addition to a piece of code,    usually
  16953. as a {quick-and-dirty} remedy to an existing bug or    misfeature.  A
  16954. patch may or may not work, and may or may not    eventually be
  16955. incorporated permanently into the program.     Distinguished from a
  16956. {diff} or {mod} by the fact that a patch    is generated by more
  16957. primitive means than the rest of the program;    the classical examples
  16958. are instructions modified by using the front    panel switches, and
  16959. changes made directly to the binary executable    of a program
  16960. originally written in an {HLL}.  Compare    {one-line fix}.  2. vt. To
  16961. insert a patch into a piece of code.     3. [in the Unix world] n. A
  16962. {diff} (sense 2).  4. A set of    modifications to binaries to be
  16963. applied by a patching program.  IBM    operating systems often receive
  16964. updates to the operating system in    the form of absolute hexadecimal
  16965. patches.  If you have modified    your OS, you have to disassemble
  16966. these back to the source.  The    patches might later be corrected by
  16967. other patches on top of them    (patches were said to "grow scar
  16968. tissue").  The result was often    a convoluted {patch space} and
  16969. headaches galore.  5. [Unix] the    `patch(1)' program, written by
  16970. Larry Wall, which automatically    applies a patch (sense 3) to a set
  16971. of source code.
  16972.  
  16973.    There is a classic story of a {tiger team} penetrating a secure
  16974. military computer that illustrates the danger inherent in binary
  16975. patches (or, indeed, any patches that you can't -- or don't --
  16976. inspect and examine before installing).  They couldn't find any
  16977. {trap door}s or any way to penetrate security of IBM's OS, so    they
  16978. made a site visit to an IBM office (remember, these were    official
  16979. military types who were purportedly on official business),    swiped
  16980. some IBM stationery, and created a fake patch.  The patch    was
  16981. actually the trapdoor they needed.  The patch was distributed    at
  16982. about the right time for an IBM patch, had official stationery    and
  16983. all accompanying documentation, and was dutifully installed.     The
  16984. installation manager very shortly thereafter learned something    about
  16985. proper procedures.
  16986.  
  16987.    :patch pumpkin: n.  [Perl hackers] A notional token passed    around
  16988. among the members of a project.  Possession of the patch    pumpkin
  16989. means one has the exclusive authority to make    changes on the
  16990. project's master source tree.  The implicit    assumption is that
  16991. `pumpkin holder' status is temporary and    rotates periodically among
  16992. senior project members.
  16993.  
  16994.    This term comes from the Perl development community, but has been
  16995. sighted elsewhere.  It derives from a stuffed-toy pumpkin    that was
  16996. passed around at a development shop years ago as    the access control
  16997. for a shared backup-tape drive.
  16998.  
  16999.    :patch space: n.  An unused block of bits left in a binary    so
  17000. that it can later be modified by insertion of machine-language
  17001. instructions there (typically, the patch space is modified to
  17002. contain new code, and the superseded code is patched to contain a
  17003. jump or call to the patch space).  The near-universal use of
  17004. compilers and interpreters has made this term rare; it is now
  17005. primarily historical outside IBM shops.  See {patch} (sense 4),
  17006. {zap} (sense 4), {hook}.
  17007.  
  17008.    :path: n.  1. A {bang path} or explicitly routed    {{Internet
  17009. address}}; a node-by-node specification of a link    between two
  17010. machines.  2. [Unix] A filename, fully specified    relative to the
  17011. root directory (as opposed to relative to the    current directory; the
  17012. latter is sometimes called a `relative    path').  This is also called
  17013. a `pathname'.  3. [Unix and MS-DOS]    The `search path', an
  17014. environment variable specifying the    directories in which the {shell}
  17015. (COMMAND.COM, under MS-DOS)    should look for commands.  Other,
  17016. similar constructs abound under    Unix (for example, the C
  17017. preprocessor has a `search path' it    uses in looking for `#include'
  17018. files).
  17019.  
  17020.    :pathological: adj.  1. [scientific computation] Used of a    data
  17021. set that is grossly atypical of normal expected input, esp.     one
  17022. that exposes a weakness or bug in whatever algorithm one is    using.
  17023. An algorithm that can be broken by pathological inputs may    still be
  17024. useful if such inputs are very unlikely to occur in    practice.  2.
  17025. When used of test input, implies that it was    purposefully engineered
  17026. as a worst case.  The implication in both    senses is that the data is
  17027. spectacularly ill-conditioned or that    someone had to explicitly set
  17028. out to break the algorithm in order    to come up with such a crazy
  17029. example.  3. Also said of an unlikely    collection of circumstances.
  17030. "If the network is down and comes up    halfway through the execution
  17031. of that command by root, the system    may just crash."  "Yes, but
  17032. that's a pathological case."  Often    used to dismiss the case from
  17033. discussion, with the implication that    the consequences are
  17034. acceptable, since they will happen so    infrequently (if at all) that
  17035. it doesn't seem worth going to the    extra trouble to handle that case
  17036. (see sense 1).
  17037.  
  17038.    :payware: /pay'weir/ n.  Commercial software.  Oppose    {shareware}
  17039. or {freeware}.
  17040.  
  17041.    :PBD: /P-B-D/ n.  [abbrev. of `Programmer Brain Damage']    Applied
  17042. to bug reports revealing places where the program was    obviously
  17043. broken by an incompetent or short-sighted programmer.     Compare
  17044. {UBD}; see also {brain-damaged}.
  17045.  
  17046.    :PC-ism: /P-C-izm/ n.  A piece of code or coding    technique that
  17047. takes advantage of the unprotected single-tasking    environment in IBM
  17048. PCs and the like running DOS, e.g., by    busy-waiting on a hardware
  17049. register, direct diddling of screen    memory, or using hard timing
  17050. loops.  Compare {ill-behaved},    {vaxism}, {unixism}.  Also, `PC-ware'
  17051. n., a program full of    PC-isms on a machine with a more capable
  17052. operating system.     Pejorative.
  17053.  
  17054.    :PD: /P-D/ adj.  [common] Abbreviation for `public    domain',
  17055. applied to software distributed over {Usenet} and from    Internet
  17056. archive sites.  Much of this software is not in fact    public domain
  17057. in the legal sense but travels under various    copyrights granting
  17058. reproduction and use rights to anyone who can    {snarf} a copy.  See
  17059. {copyleft}.
  17060.  
  17061.    :PDL: /P-D-L/, pid'l, /p*d'l/ or /puhd'l/     1. n. `Program Design
  17062. Language'.  Any of a large class of formal    and profoundly useless
  17063. pseudo-languages in which {management}    forces one to design
  17064. programs.  Too often, management expects PDL    descriptions to be
  17065. maintained in parallel with the code, imposing    massive overhead to
  17066. little or no benefit.  See also {{flowchart}}.     2. v. To design
  17067. using a program design language.  "I've been    pdling so long my eyes
  17068. won't focus beyond 2 feet."  3. n. `Page    Description Language'.
  17069. Refers to any language which is used to    control a graphics device,
  17070. usually a laserprinter.  The most common    example is, of course,
  17071. Adobe's {{PostScript}} language, but there    are many others, such as
  17072. Xerox InterPress, etc.     4. In ITS days, the preferred MITism for
  17073. {stack}.  See    {overflow pdl}.  5. Dave Lebling, one of the
  17074. co-authors of    {Zork}; (his {network address} on the ITS machines was
  17075. at one    time pdl@dms).
  17076.  
  17077.    :PDP-10: n.  [Programmed Data Processor model 10] The    machine
  17078. that made timesharing real.  It looms large in hacker    folklore
  17079. because of its adoption in the mid-1970s by many    university
  17080. computing facilities and research labs, including the    MIT AI Lab,
  17081. Stanford, and CMU.  Some aspects of the instruction    set (most
  17082. notably the bit-field instructions) are still considered
  17083. unsurpassed.  The 10 was eventually eclipsed by the VAX machines
  17084. (descendants of the PDP-11) when {DEC} recognized that the 10    and
  17085. VAX product lines were competing with each other and decided to
  17086. concentrate its software development effort on the more profitable
  17087. VAX.  The machine was finally dropped from DEC's line in 1983,
  17088. following the failure of the Jupiter Project at DEC to build a
  17089. viable new model.  (Some attempts by other companies to market
  17090. clones came to nothing; see {Foonly} and {Mars}.)  This event
  17091. spelled the doom of {{ITS}} and the technical cultures that had
  17092. spawned the original Jargon File, but by mid-1991 it had become
  17093. something of a badge of honorable old-timerhood among hackers to
  17094. have cut one's teeth on a PDP-10.  See {{TOPS-10}}, {{ITS}},    {BLT},
  17095. {DDT}, {DPB}, {EXCH}, {HAKMEM}, {LDB},    {pop}, {push}.
  17096.  
  17097.    :PDP-20: n.  The most famous computer that never was.     {PDP-10}
  17098. computers running the {{TOPS-10}} operating system    were labeled
  17099. `DECsystem-10' as a way of differentiating them from    the PDP-11.
  17100. Later on, those systems running {TOPS-20} were labeled
  17101. `DECSYSTEM-20' (the block capitals being the result of a lawsuit
  17102. brought against DEC by Singer, which once made a computer called
  17103. `system-10'), but contrary to popular lore there was never a
  17104. `PDP-20'; the only difference between a 10 and a 20 was the
  17105. operating system and the color of the paint.  Most (but not all)
  17106. machines sold to run TOPS-10 were painted `Basil Blue', whereas    most
  17107. TOPS-20 machines were painted `Chinese Red' (often mistakenly    called
  17108. orange).
  17109.  
  17110.    :PEBKAC: /peb'kak/  [Abbrev., "Problem Exists Between    Keyboard
  17111. And Chair"] Used by support people, particularly at call    centers and
  17112. help desks. Not used with the public.  Denotes pilot    error as the
  17113. cause of the crash, especially stupid errors that even    a luser could
  17114. figure out. Very derogatory. Usage: "Did you ever    figure out why
  17115. that guy couldn't print?" "Yeah, he kept    cancelling the operation
  17116. before it could finish. PEBKAC."
  17117.  
  17118.    :peek: n.,vt.  (and {poke}) The commands in most    microcomputer
  17119. BASICs for directly accessing memory contents at an    absolute
  17120. address; often extended to mean the corresponding    constructs in any
  17121. {HLL} (peek reads memory, poke modifies it).     Much hacking on small,
  17122. non-MMU micros used to consist of `peek'ing    around memory, more or
  17123. less at random, to find the location where    the system keeps
  17124. interesting stuff.  Long (and variably accurate)    lists of such
  17125. addresses for various computers circulated (see    {{interrupt list}}).
  17126. The results of `poke's at these    addresses may be highly useful,
  17127. mildly amusing, useless but neat,    or (most likely) total {lossage}
  17128. (see {killer poke}).
  17129.  
  17130.    Since a {real operating system} provides useful, higher-level
  17131. services for the tasks commonly performed with peeks and pokes on
  17132. micros, and real languages tend not to encourage low-level memory
  17133. groveling, a question like "How do I do a peek in C?" is    diagnostic
  17134. of the {newbie}.  (Of course, OS kernels often have to    do exactly
  17135. this; a real kernel hacker would unhesitatingly, if    unportably,
  17136. assign an absolute address to a pointer variable and    indirect
  17137. through it.)
  17138.  
  17139.    :pencil and paper: n.  An archaic information storage and
  17140. transmission device that works by depositing smears of graphite on
  17141. bleached wood pulp.  More recent developments in paper-based
  17142. technology include improved `write-once' update devices which use
  17143. tiny rolling heads similar to mouse balls to deposit colored
  17144. pigment.  All these devices require an operator skilled at    so-called
  17145. `handwriting' technique.  These technologies are    ubiquitous outside
  17146. hackerdom, but nearly forgotten inside it.  Most    hackers had
  17147. terrible handwriting to begin with, and years of    keyboarding tend to
  17148. have encouraged it to degrade further.  Perhaps    for this reason,
  17149. hackers deprecate pencil-and-paper technology and    often resist using
  17150. it in any but the most trivial contexts.
  17151.  
  17152.    :Pentagram Pro: n.   A humorous corruption of "Pentium    Pro", with
  17153. a Satanic reference, implying that the chip is    inherently {evil}.
  17154. Often used with "666 MHz"; there is a    T-shirt.  See {Pentium}
  17155.  
  17156.    :Pentium: n.  The name given to Intel's P5 chip, the    successor to
  17157. the 80486. The name was chosen because of difficulties    Intel had in
  17158. trademarking a number. It suggests the number five    (implying 586)
  17159. while (according to Intel) conveying a meaning of    strength "like
  17160. titanium".  Among hackers, the plural is    frequently `pentia'. See
  17161. also {Pentagram Pro}.
  17162.  
  17163.    Intel did not stick to this convention when naming its P6 processor
  17164.  the Pentium Pro; many believe this is due to difficulties in
  17165. selling a chip with "sex" in its name.  Successor chips have been
  17166. called `Pentium II' and `Pentium III'.
  17167.  
  17168.    :peon: n.  A person with no special ({root} or {wheel})
  17169. privileges on a computer system.  "I can't create an account on
  17170. _foovax_ for you; I'm only a peon there."
  17171.  
  17172.    :percent-S: /per-sent' es'/ n.  [From the code in C's    `printf(3)'
  17173. library function used to insert an arbitrary    string argument] An
  17174. unspecified person or object.  "I was just    talking to some percent-s
  17175. in administration."  Compare    {random}.
  17176.  
  17177.    :perf: /perf/ n.  Syn. {chad} (sense 1).  The term    `perfory'
  17178. /per'f*-ree/ is also heard.  The term {perf} may    also refer to the
  17179. perforations themselves, rather than the chad    they produce when torn
  17180. (philatelists use it this way).
  17181.  
  17182.    :perfect programmer syndrome: n.  Arrogance; the egotistical
  17183. conviction that one is above normal human error.  Most frequently
  17184. found among programmers of some native ability but relatively    little
  17185. experience (especially new graduates; their perceptions may    be
  17186. distorted by a history of excellent performance at solving    {toy
  17187. problem}s).  "Of course my program is correct, there is no    need to
  17188. test it."  "Yes, I can see there may be a problem here,    but _I'll_
  17189. never type `rm -r /' while in {root    mode}."
  17190.  
  17191.    :Perl: /perl/ n.  [Practical Extraction and Report    Language,
  17192. a.k.a. Pathologically Eclectic Rubbish Lister] An    interpreted
  17193. language developed by Larry Wall    (<<larry@wall.org>>, author of
  17194. `patch(1)' and    `rn(1)') and distributed over Usenet.  Superficially
  17195. resembles    {awk}, but is much hairier, including many facilities
  17196. reminiscent of `sed(1)' and shells and a comprehensive Unix
  17197. system-call interface.  Unix sysadmins, who are almost always
  17198. incorrigible hackers, generally consider it one of the    {languages of
  17199. choice}, and it is by far the most widely used    tool for making
  17200. `live' web pages via CGI.  Perl has been described,    in a parody of a
  17201. famous remark about `lex(1)', as the    "Swiss-Army chainsaw" of Unix
  17202. programming.  See also {Camel    Book}, {TMTOWTDI}.
  17203.  
  17204.    :person of no account: n.  [University of California at Santa
  17205. Cruz] Used when referring to a person with no {network address},
  17206. frequently to forestall confusion.  Most often as part of an
  17207. introduction: "This is Bill, a person of no account, but he used    to
  17208. be bill@random.com".  Compare {return from the    dead}.
  17209.  
  17210.    :pessimal: /pes'im-l/ adj.  [Latin-based antonym for    `optimal']
  17211. Maximally bad.  "This is a pessimal situation."     Also `pessimize'
  17212. vt. To make as bad as possible.  These words are    the obvious
  17213. Latin-based antonyms for `optimal' and `optimize',    but for some
  17214. reason they do not appear in most English    dictionaries, although
  17215. `pessimize' is listed in the OED.
  17216.  
  17217.    :pessimizing compiler: /pes'*-mi:z`ing k*m-pi:l'r/ n.  A    compiler
  17218. that produces object [antonym of techspeak `optimizing    compiler']
  17219. code that is worse than the straightforward or obvious    hand
  17220. translation.  The implication is that the compiler is actually
  17221. trying to optimize the program, but through excessive cleverness is
  17222. doing the opposite.  A few pessimizing compilers have been written
  17223. on purpose, however, as pranks or burlesques.
  17224.  
  17225.    :peta-: /pe't*/ pref  [SI] See {{quantifiers}}.
  17226.  
  17227.    :PETSCII: /pet'skee/ n. obs.  [abbreviation of PET    ASCII] The
  17228. variation (many would say perversion) of the {{ASCII}}    character set
  17229. used by the Commodore Business Machines PET series of    personal
  17230. computers and the later Commodore C64, C16, C128, and    VIC20
  17231. machines.  The PETSCII set used left-arrow and up-arrow (as    in
  17232. old-style ASCII) instead of underscore and caret, placed the
  17233. unshifted alphabet at positions 65-90, put the shifted alphabet at
  17234. positions 193-218, and added graphics characters.
  17235.  
  17236.    :phage: n.  A program that modifies other programs or    databases
  17237. in unauthorized ways; esp. one that propagates a    {virus} or {Trojan
  17238. horse}.  See also {worm},    {mockingbird}.  The analogy, of course, is
  17239. with phage viruses in    biology.
  17240.  
  17241.    :phase:  1. n. The offset of one's waking-sleeping schedule    with
  17242. respect to the standard 24-hour cycle; a useful concept among    people
  17243. who often work at night and/or according to no fixed    schedule.  It
  17244. is not uncommon to change one's phase by as much as 6    hours per day
  17245. on a regular basis.  "What's your phase?"  "I've    been getting in
  17246. about 8 P.M. lately, but I'm going to {wrap    around} to the day
  17247. schedule by Friday."  A person who is roughly    12 hours out of phase
  17248. is sometimes said to be in `night mode'.     (The term `day mode' is
  17249. also (but less frequently) used, meaning    you're working 9 to 5 (or,
  17250. more likely, 10 to 6).)  The act of    altering one's cycle is called
  17251. `changing phase'; `phase    shifting' has also been recently reported
  17252. from Caltech.     2. `change phase the hard way': To stay awake for a
  17253. very long    time in order to get into a different phase.  3. `change
  17254. phase    the easy way': To stay asleep, etc.  However, some claim that
  17255.  either staying awake longer or sleeping longer is easy, and that it
  17256. is _shortening_ your day or night that is really hard (see    {wrap
  17257. around}).  The `jet lag' that afflicts travelers who    cross many
  17258. time-zone boundaries may be attributed to two distinct    causes: the
  17259. strain of travel per se, and the strain of changing    phase.  Hackers
  17260. who suddenly find that they must change phase    drastically in a short
  17261. period of time, particularly the hard way,    experience something very
  17262. like jet lag without traveling.
  17263.  
  17264.    :phase of the moon: n.  Used humorously as a random parameter    on
  17265. which something is said to depend.  Sometimes implies    unreliability
  17266. of whatever is dependent, or that reliability seems    to be dependent
  17267. on conditions nobody has been able to determine.     "This feature
  17268. depends on having the channel open in mumble mode,    having the foo
  17269. switch set, and on the phase of the moon."  See    also {heisenbug}.
  17270.  
  17271.    True story: Once upon a time there was a program bug that    really
  17272. did depend on the phase of the moon.  There was a little    subroutine
  17273. that had traditionally been used in various programs at    MIT to
  17274. calculate an approximation to the moon's true phase.  GLS
  17275. incorporated this routine into a LISP program that, when it wrote
  17276. out a file, would print a timestamp line almost 80 characters long.
  17277. Very occasionally the first line of the message would be too long
  17278. and would overflow onto the next line, and when the file was later
  17279. read back in the program would {barf}.  The length of the first    line
  17280. depended on both the precise date and time and the length of    the
  17281. phase specification when the timestamp was printed, and so the    bug
  17282. literally depended on the phase of the moon!
  17283.  
  17284.    The first paper edition of the Jargon File (Steele-1983) included
  17285. an example of one of the timestamp lines that exhibited this bug,
  17286. but the typesetter `corrected' it.  This has since been    described as
  17287. the phase-of-the-moon-bug bug.
  17288.  
  17289.    However, beware of assumptions.  A few years ago, engineers of CERN
  17290.  (European Center for Nuclear Research) were baffled by some errors
  17291. in experiments conducted with the LEP particle accelerator.  As the
  17292. formidable amount of data generated by such devices is heavily
  17293. processed by computers before being seen by humans, many people
  17294. suggested the software was somehow sensitive to the phase of the
  17295. moon.  A few desperate engineers discovered the truth; the error
  17296. turned out to be the result of a tiny change in the geometry of the
  17297. 27km circonference ring, physically caused by the deformation of    the
  17298. Earth by the passage of the Moon!  This story has entered    physics
  17299. folklore as a Newtonian vengeance on particle physics and    as an
  17300. example of the relevance of the simplest and oldest physical    laws to
  17301. the most modern science.
  17302.  
  17303.    :phase-wrapping: n.  [MIT] Syn. {wrap around}, sense 2.
  17304.  
  17305.    :PHB: /P-H-B/  [Usenet; common; rarely spoken] Abbreviation,
  17306. "Pointy-Haired Boss".  From the {Dilbert} character, the    archetypal
  17307. halfwitted middle-{management} type. See also    {pointy-haired}.
  17308.  
  17309.    :phreaker: /freek'r/ n.  One who engages in    {phreaking}.
  17310.  
  17311.    :phreaking: /freek'ing/ n.  [from `phone phreak'] 1. The    art and
  17312. science of {cracking} the phone network (so as, for    example, to make
  17313. free long-distance calls).  2. By extension,    security-cracking in
  17314. any other context (especially, but not    exclusively, on
  17315. communications networks) (see {cracking}).
  17316.  
  17317.    At one time phreaking was a semi-respectable activity among
  17318. hackers; there was a gentleman's agreement that phreaking as an
  17319. intellectual game and a form of exploration was OK, but serious
  17320. theft of services was taboo.  There was significant crossover
  17321. between the hacker community and the hard-core phone phreaks who    ran
  17322. semi-underground networks of their own through such media as    the
  17323. legendary "TAP Newsletter".  This ethos began to break    down in the
  17324. mid-1980s as wider dissemination of the techniques put    them in the
  17325. hands of less responsible phreaks.  Around the same    time, changes in
  17326. the phone network made old-style technical    ingenuity less effective
  17327. as a way of hacking it, so phreaking came    to depend more on overtly
  17328. criminal acts such as stealing phone-card    numbers.  The crimes and
  17329. punishments of gangs like the `414 group'    turned that game very
  17330. ugly.  A few old-time hackers still phreak    casually just to keep
  17331. their hand in, but most these days have    hardly even heard of `blue
  17332. boxes' or any of the other    paraphernalia of the great phreaks of
  17333. yore.
  17334.  
  17335.    :pico-: pref.  [SI: a quantifier    meaning * 10^-12]    Smaller
  17336. than {nano-}; used in the same rather loose    connotative way as
  17337. {nano-} and {micro-}.  This usage is not yet    common in the way
  17338. {nano-} and {micro-} are, but should be    instantly recognizable to
  17339. any hacker.  See also {{quantifiers}},    {micro-}.
  17340.  
  17341.    :pig-tail:  [radio hams] A short piece of cable with two
  17342. connectors on each end for converting between one connector type    and
  17343. another.  Common pig-tails are 9-to-25-pin serial-port    converters
  17344. and cables to connect PCMCIA network cards to an RJ-45    network cable.
  17345.  
  17346.    :pilot error: n.  [Sun: from aviation] A user's    misconfiguration
  17347. or misuse of a piece of software, producing    apparently buglike
  17348. results (compare {UBD}).  "Joe Luser    reported a bug in sendmail that
  17349. causes it to generate bogus    headers."  "That's not a bug, that's
  17350. pilot error.  His    `sendmail.cf' is hosed."
  17351.  
  17352.    :ping:  [from the submariners' term for a sonar pulse] 1. n.
  17353. Slang term for a small network message (ICMP ECHO) sent by a
  17354. computer to check for the presence and alertness of another.  The
  17355. Unix command `ping(8)' can be used to do this manually (note    that
  17356. `ping(8)''s author denies the widespread folk etymology    that the
  17357. name was ever intended as acronym for `Packet INternet    Groper').
  17358. Occasionally used as a phone greeting.  See {ACK},    also {ENQ}.  2.
  17359. vt. To verify the presence of.  3. vt. To get    the attention of.  4.
  17360. vt. To send a message to all members of a    {mailing list} requesting
  17361. an {ACK} (in order to verify that    everybody's addresses are
  17362. reachable).  "We haven't heard much of    anything from Geoff, but he
  17363. did respond with an ACK both times I    pinged jargon-friends."  5. n.
  17364. A quantum packet of happiness.     People who are very happy tend to
  17365. exude pings; furthermore, one can    intentionally create pings and aim
  17366. them at a needy party (e.g., a    depressed person).  This sense of
  17367. ping may appear as an    exclamation; "Ping!" (I'm happy; I am emitting
  17368. a quantum of    happiness; I have been struck by a quantum of
  17369. happiness).  The form    "pingfulness", which is used to describe
  17370. people who exude pings,    also occurs.  (In the standard abuse of
  17371. language, "pingfulness"    can also be used as an exclamation, in which
  17372. case it's a much    stronger exclamation than just "ping"!).  Oppose
  17373. {blargh}.
  17374.  
  17375.    The funniest use of `ping' to date was described in January 1991 by
  17376.  Steve Hayman on the Usenet group comp.sys.next.  He was trying    to
  17377. isolate a faulty cable segment on a TCP/IP Ethernet hooked up to    a
  17378. NeXT machine, and got tired of having to run back to his console
  17379. after each cabling tweak to see if the ping packets were getting
  17380. through.  So he used the sound-recording feature on the NeXT, then
  17381. wrote a script that repeatedly invoked `ping(8)', listened for    an
  17382. echo, and played back the recording on each returned packet.
  17383. Result?  A program that caused the machine to repeat, over and    over,
  17384. "Ping ... ping ... ping ..." as long as the    network was up.  He
  17385. turned the volume to maximum, ferreted through    the building with one
  17386. ear cocked, and found a faulty tee connector    in no time.
  17387.  
  17388.    :Ping O' Death: n.  A notorious {exploit} that (when    first
  17389. discovered) could be easily used to crash a wide variety of    machines
  17390. by overunning size limits in their TCP/IP stacks.  First    revealed in
  17391. late 1996.  The open-source Unix community patched its    systems to
  17392. remove the vulnerability within days or weeks, the    closed-source OS
  17393. vendors generally took months.  While the    difference in response
  17394. times repeated a pattern familiar from other    security incidents, the
  17395. accompanying glare of Web-fueled publicity    proved unusually
  17396. embarrassing to the OS vendors and so passed into    history and myth.
  17397. The term is now used to refer to any nudge    delivered by network
  17398. wizards over the network that causes bad    things to happen on the
  17399. system being nudged.  For the full story on    the original exploit, see
  17400.   `http://www.insecure.org/sploits/ping-o-death.html'.
  17401.  
  17402.    Compare with 'kamikaze packet,' 'Finger of Death' and 'Chernobyl
  17403. packet.'
  17404.  
  17405.    :ping storm: n.  A form of {DoS attack} consisting    of a flood of
  17406. {ping} requests (normally used to check network    conditions) designed
  17407. to disrupt the normal activity of a system.     This act is sometimes
  17408. called `ping lashing' or `ping flood'.     Compare {mail storm},
  17409. {broadcast storm}.
  17410.  
  17411.    :pink wire: n.  [from the pink PTFE wire used in military
  17412. equipment] As {blue wire}, but used in military    applications. 2. vi.
  17413. To add a pink wire to a board.
  17414.  
  17415.    :pipe: n.  [common] Idiomatically, one's connection to the
  17416. Internet; in context, the expansion "bit pipe" is understood.  A
  17417. "fat pipe" is a line with T1 or higher capacity.  A person with a
  17418. 28.8 modem might be heard to complain "I need a bigger    pipe".
  17419.  
  17420.    :pistol: n.  [IBM] A tool that makes it all too easy for you to
  17421. shoot yourself in the foot.  "Unix `rm *' makes such a nice    pistol!"
  17422.  
  17423.    :pixel sort: n.  [Commodore users] Any compression routine    which
  17424. irretrievably loses valuable data in the process of    {crunch}ing it.
  17425. Disparagingly used for `lossy' methods such as    JPEG. The theory, of
  17426. course, is that these methods are only used on    photographic images
  17427. in which minor loss-of-data is not visible to    the human eye.  The
  17428. term `pixel sort' implies distrust of this    theory.  Compare
  17429. {bogo-sort}.
  17430.  
  17431.    :pizza box: n.  [Sun] The largish thin box housing the electronics
  17432. in (especially Sun) desktop workstations, so named because of its
  17433. size and shape and the dimpled pattern that looks like air holes.
  17434.  
  17435.    Two meg single-platter removable disk packs used to be called
  17436. pizzas, and the huge drive they were stuck into was referred to as    a
  17437. pizza oven.  It's an index of progress that in the old days just    the
  17438. disk was pizza-sized, while now the entire computer is.
  17439.  
  17440.    :plaid screen: n.  [XEROX PARC] A `special effect' that    occurs
  17441. when certain kinds of {memory smash}es overwrite the    control blocks
  17442. or image memory of a bit-mapped display.  The term    "salt and pepper"
  17443. may refer to a different pattern of similar    origin.  Though the term
  17444. as coined at PARC refers to the result of    an error, some of the {X}
  17445. demos induce plaid-screen effects    deliberately as a {display hack}.
  17446.  
  17447.    :plain-ASCII: // playn-as'kee Syn. {flat-ASCII}.
  17448.  
  17449.    :plan file: n.  [Unix] On systems that support {finger}, the
  17450. `.plan' file in a user's home directory is displayed when the user
  17451. is fingered.  This feature was originally intended to be used to
  17452. keep potential fingerers apprised of one's location and near-future
  17453. plans, but has been turned almost universally to humorous and
  17454. self-expressive purposes (like a {sig block}).  See also    {Hacking X
  17455. for Y}.
  17456.  
  17457.    A recent innovation in plan files has been the introduction of
  17458. "scrolling plan files" which are one-dimensional animations made
  17459. using only the printable ASCII character set, carriage return and
  17460. line feed, avoiding terminal specific escape sequences, since the
  17461. {finger} command will (for security reasons; see    {letterbomb}) not
  17462. pass the escape character.
  17463.  
  17464.    Scrolling .plan files have become art forms in miniature, and some
  17465. sites have started competitions to find who can create the longest
  17466. running, funniest, and most original animations.  Various animation
  17467. characters include:
  17468.  
  17469. Centipede:
  17470.      mmmmme
  17471.  
  17472. Lorry/Truck:
  17473.      oo-oP
  17474.  
  17475. Andalusian Video Snail:
  17476.      _@/
  17477.  
  17478. and a compiler (ASP) is available on Usenet for producing them.     See
  17479. also {twirling baton}.
  17480.  
  17481.    :platinum-iridium: adj.  Standard, against which all others of
  17482. the same category are measured.  Usage: silly.  The notion is that
  17483. one of whatever it is has actually been cast in platinum-iridium
  17484. alloy and placed in the vault beside the Standard Kilogram at the
  17485. International Bureau of Weights and Measures near Paris.  (From    1889
  17486. to 1960, the meter was defined to be the distance between two
  17487. scratches in a platinum-iridium bar kept in that same vault --    this
  17488. replaced an earlier definition as 10^(-7) times the    distance between
  17489. the North Pole and the Equator along a meridian    through Paris;
  17490. unfortunately, this had been based on an inexact    value of the
  17491. circumference of the Earth.  From 1960 to 1984 it was    defined to be
  17492. 1650763.73 wavelengths of the orange-red line of    krypton-86
  17493. propagating in a vacuum.  It is now defined as the    length of the
  17494. path traveled by light in a vacuum in the time    interval of
  17495. 1/299,792,458 of a second.  The kilogram is now the    only unit of
  17496. measure officially defined in terms of a unique    artifact.)  "This
  17497. garbage-collection algorithm has been tested    against the
  17498. platinum-iridium cons cell in Paris."  Compare    {golden}.
  17499.  
  17500.    :playpen: n.  [IBM] A room where programmers work.  Compare {salt
  17501. mines}.
  17502.  
  17503.    :playte: /playt/  16 bits, by analogy with {nybble} and    {{byte}}.
  17504. Usage: rare and extremely silly.  See also {dynner}    and {crumb}.
  17505. General discussion of such terms is under    {nybble}.
  17506.  
  17507.    :plingnet: /pling'net/ n.  Syn. {UUCPNET}.  Also see
  17508. {{Commonwealth Hackish}}, which uses `pling' for {bang} (as    in {bang
  17509. path}).
  17510.  
  17511.    :plokta: /plok't*/ v.  [acronym: Press Lots Of Keys To    Abort] To
  17512. press random keys in an attempt to get some response    from the
  17513. system.  One might plokta when the abort procedure for a    program is
  17514. not known, or when trying to figure out if the system is    just
  17515. sluggish or really hung.  Plokta can also be used while trying    to
  17516. figure out any unknown key sequence for a particular operation.
  17517. Someone going into `plokta mode' usually places both hands flat    on
  17518. the keyboard and mashes them down, hoping for some useful    response.
  17519.  
  17520.    A slightly more directed form of plokta can often be seen in mail
  17521. messages or Usenet articles from new users -- the text might end    with
  17522.  
  17523.              ^X^C
  17524.              q
  17525.              quit
  17526.              :q
  17527.              ^C
  17528.              end
  17529.              x
  17530.              exit
  17531.              ZZ
  17532.              ^D
  17533.              ?
  17534.              help
  17535.  
  17536. as the user vainly tries to find the right exit sequence, with the
  17537. incorrect tries piling up at the end of the message....
  17538.  
  17539.    :plonk: excl.,vt.  [Usenet: possibly influenced by British    slang
  17540. `plonk' for cheap booze, or `plonker' for someone    behaving stupidly
  17541. (latter is lit. equivalent to Yiddish    `schmuck')] The sound a
  17542. {newbie} makes as he falls to the    bottom of a {kill file}.  While it
  17543. originated in the    {newsgroup} talk.bizarre, this term (usually
  17544. written    "*plonk*") is now (1994) widespread on Usenet as a form of
  17545. public    ridicule.
  17546.  
  17547.    :plug-and-pray: adj.,vi.  Parody of the techspeak term
  17548. `plug-and-play', describing a PC peripheral card which is claimed    to
  17549. have no need for hardware configuration via DIP switches, and    which
  17550. should be work as soon as it is inserted in the PC.     Unfortunately,
  17551. even the PCI bus is not up to pulling this off    reliably, and people
  17552. who have to do installation or troubleshoot    PCs soon find themselves
  17553. longing for the DIP switches.
  17554.  
  17555.    :plugh: /ploogh/ v.  [from the {ADVENT} game] See    {xyzzy}.
  17556.  
  17557.    :plumbing: n.  [Unix] Term used for {shell} code, so called
  17558. because of the prevalence of `pipelines' that feed the output of    one
  17559. program to the input of another.  Under Unix, user utilities    can
  17560. often be implemented or at least prototyped by a suitable    collection
  17561. of pipelines and temp-file grinding encapsulated in a    shell script;
  17562. this is much less effort than writing C every time,    and the
  17563. capability is considered one of Unix's major winning    features.  A
  17564. few other OSs such as IBM's VM/CMS support similar    facilities.  Esp.
  17565. used in the construction `hairy plumbing'    (see {hairy}).  "You can
  17566. kluge together a basic spell-checker    out of `sort(1)', `comm(1)',
  17567. and `tr(1)' with a    little plumbing."  See also {tee}.
  17568.  
  17569.    :PM: /P-M/  1. v. (from `preventive maintenance') To    bring down a
  17570. machine for inspection or test purposes.  See    {provocative
  17571. maintenance}; see also {scratch monkey}.     2. n. Abbrev. for
  17572. `Presentation Manager', an {elephantine} OS/2    graphical user
  17573. interface.
  17574.  
  17575.    :pnambic: /p*-nam'bik/  [Acronym from the scene in the film
  17576. version of "The Wizard of Oz" in which the true nature of the    wizard
  17577. is first discovered: "Pay no attention to the man behind    the
  17578. curtain."]  1. A stage of development of a process or function    that,
  17579. owing to incomplete implementation or to the complexity of    the
  17580. system, requires human interaction to simulate or replace some    or
  17581. all of the actions, inputs, or outputs of the process or    function.
  17582. 2. Of or pertaining to a process or function whose    apparent
  17583. operations are wholly or partially falsified.     3. Requiring
  17584. {prestidigitization}.
  17585.  
  17586.    The ultimate pnambic product was "Dan Bricklin's Demo", a program
  17587. which supported flashy user-interface design prototyping.  There is
  17588. a related maxim among hackers: "Any sufficiently advanced    technology
  17589. is indistinguishable from a rigged demo."  See    {magic}, sense 1, for
  17590. illumination of this point.
  17591.  
  17592.    :pod: n.  [allegedly from abbreviation POD for `Prince Of
  17593. Darkness'] A Diablo 630 (or, latterly, any letter-quality impact
  17594. printer).  From the DEC-10 PODTYPE program used to feed formatted
  17595. text to it.  Not to be confused with {P.O.D.}.
  17596.  
  17597.    :point-and-drool interface: n.  Parody of the techspeak term
  17598. `point-and-shoot interface', describing a windows, icons, and
  17599. mouse-based interface such as is found on the Macintosh.  The
  17600. implication, of course, is that such an interface is only suitable
  17601. for idiots.  See {for the rest of us}, {WIMP environment},
  17602. {Macintrash}, {drool-proof paper}.  Also `point-and-grunt    interface'.
  17603.  
  17604.    :pointy-haired: adj.  [after the character in the    {Dilbert} comic
  17605. strip] Describes the extreme form of the    property that separates
  17606. {suit}s and {marketroid}s from    hackers. Compare {brain-dead};
  17607. {demented}; see    {PHB}. Always applied to people, never to ideas. The
  17608. plural form    is often used as a noun. "The pointy-haireds ordered me
  17609. to use    Windows NT, but I set up a Linux server with Samba instead."
  17610.  
  17611.    :poke: n.,vt.  See {peek}.
  17612.  
  17613.    :poll: v.,n.  1. [techspeak] The action of checking the status    of
  17614. an input line, sensor, or memory location to see if a particular
  17615. external event has been registered.  2. To repeatedly call or check
  17616. with someone: "I keep polling him, but he's not answering his    phone;
  17617. he must be swapped out."  3. To ask.  "Lunch?  I poll for    a takeout
  17618. order daily."
  17619.  
  17620.    :polygon pusher: n.  A chip designer who spends most of his or
  17621. her time at the physical layout level (which requires drawing    _lots_
  17622. of multi-colored polygons).  Also `rectangle    slinger'.
  17623.  
  17624.    :POM: /P-O-M/ n.  Common abbreviation for {phase of the    moon}.
  17625. Usage: usually in the phrase `POM-dependent', which means    {flaky}.
  17626.  
  17627.    :pop: /pop/  [from the operation that removes the top of a    stack,
  17628. and the fact that procedure return addresses are usually    saved on
  17629. the stack] (also capitalized `POP') 1. vt. To remove    something from
  17630. a {stack} or {PDL}.  If a person says he/she    has popped something
  17631. from his stack, that means he/she has finally    finished working on it
  17632. and can now remove it from the list of    things hanging overhead.  2.
  17633. When a discussion gets to a level of    detail so deep that the main
  17634. point of the discussion is being lost,    someone will shout "Pop!",
  17635. meaning "Get back up to a higher    level!"  The shout is frequently
  17636. accompanied by an upthrust arm    with a finger pointing to the ceiling.
  17637.  
  17638.    :POPJ: /pop'J/ n.,v.  [from a {PDP-10}    return-from-subroutine
  17639. instruction] To return from a digression.     By verb doubling, "Popj,
  17640. popj" means roughly "Now let's see,    where were we?"  See {RTI}.
  17641.  
  17642.    :poser: n.  A {wannabee}; not hacker slang, but used among
  17643. crackers, phreaks and {warez d00dz}.  Not as negative as    {lamer} or
  17644. {leech}.  Probably derives from a similar usage    among punk-rockers
  17645. and metalheads, putting down those who "talk    the talk but don't walk
  17646. the walk".
  17647.  
  17648.    :post: v.  To send a message to a {mailing list} or    {newsgroup}.
  17649. Distinguished in context from `mail'; one might    ask, for example:
  17650. "Are you going to post the patch or mail it to    known users?"
  17651.  
  17652.    :postcardware: n.  A kind of {shareware} that borders on
  17653. {freeware}, in that the author requests only that satisfied    users
  17654. send a postcard of their home town or something.  (This    practice,
  17655. silly as it might seem, serves to remind users that they    are
  17656. otherwise getting something for nothing, and may also be
  17657. psychologically related to real estate `sales' in which $1    changes
  17658. hands just to keep the transaction from being a gift.)
  17659.  
  17660.    :posting: n.  Noun corresp. to v. {post} (but note that    {post}
  17661. can be nouned).  Distinguished from a `letter' or    ordinary {email}
  17662. message by the fact that it is broadcast rather    than point-to-point.
  17663. It is not clear whether messages sent to a    small mailing list are
  17664. postings or email; perhaps the best dividing    line is that if you
  17665. don't know the names of all the potential    recipients, it is a
  17666. posting.
  17667.  
  17668.    :postmaster: n.  The email contact and maintenance person at a
  17669. site connected to the Internet or UUCPNET.  Often, but not always,
  17670. the same as the {admin}.  The Internet standard for electronic    mail
  17671. ({RFC}-822) requires each machine to have a `postmaster'    address;
  17672. usually it is aliased to this person.
  17673.  
  17674.    :PostScript:: n.  A Page Description Language ({PDL}),    based on
  17675. work originally done by John Gaffney at Evans and    Sutherland in
  17676. 1976, evolving through `JaM' (`John and Martin',    Martin Newell) at
  17677. {XEROX PARC}, and finally implemented in its    current form by John
  17678. Warnock et al. after he and Chuck Geschke    founded Adobe Systems
  17679. Incorporated in 1982.  PostScript gets its    leverage by using a full
  17680. programming language, rather than a series    of low-level escape
  17681. sequences, to describe an image to be printed    on a laser printer or
  17682. other output device (in this it parallels    {EMACS}, which exploited a
  17683. similar insight about editing tasks).     It is also noteworthy for
  17684. implementing on-the fly rasterization,    from Bezier curve
  17685. descriptions, of high-quality fonts at low (e.g.     300 dpi)
  17686. resolution (it was formerly believed that hand-tuned    bitmap fonts
  17687. were required for this task).  Hackers consider    PostScript to be
  17688. among the most elegant hacks of all time, and the    combination of
  17689. technical merits and widespread availability has    made PostScript the
  17690. language of choice for graphical output.
  17691.  
  17692.    :pound on: vt.  Syn. {bang on}.
  17693.  
  17694.    :power cycle: vt.  (also, `cycle power' or just `cycle')    To power
  17695. off a machine and then power it on immediately, with the    intention
  17696. of clearing some kind of {hung} or {gronk}ed state.     Syn. {120
  17697. reset}; see also {Big Red Switch}.  Compare    {Vulcan nerve pinch},
  17698. {bounce} (sense 4), and {boot}, and    see the "{Some AI Koans}" (in
  17699. Appendix A) about Tom Knight    and the novice.
  17700.  
  17701.    :power hit: n.  A spike or drop-out in the electricity    supplying
  17702. your machine; a power {glitch}.  These can cause    crashes and even
  17703. permanent damage to your machine(s).
  17704.  
  17705.    :PPN: /P-P-N/, /pip'n/ n. obs.  [from    `Project-Programmer
  17706. Number'] A user-ID under {{TOPS-10}} and    its various mutant progeny
  17707. at SAIL, BBN, CompuServe, and elsewhere.     Old-time hackers from the
  17708. PDP-10 era sometimes use this to refer to    user IDs on other systems
  17709. as well.
  17710.  
  17711.    :pr0n: //  [Usenet, IRC] Pornography.  Originally this    referred
  17712. only to Internet porn but since then it has expanded to    refer to
  17713. just about anything.  The term comes from the {warez    kiddies}
  17714. tendency to replace letters with numbers.  At some point    on IRC
  17715. someone mistyped, swapped the middle two letters, and the    name
  17716. stuck, then propagated over into mainstream hacker    usage.  Compare
  17717. {filk}, {grilf}, {hing} and    {newsfroup}.
  17718.  
  17719.    :precedence lossage: /pre's*-dens los'*j/ n.  [C    programmers]
  17720. Coding error in an expression due to unexpected    grouping of
  17721. arithmetic or logical operators by the compiler.  Used    esp. of
  17722. certain common coding errors in C due to the    nonintuitively low
  17723. precedence levels of `&', `|',    `^', `<<', and `>>' (for this reason,
  17724. experienced C    programmers deliberately forget the language's
  17725. {baroque}    precedence hierarchy and parenthesize defensively).  Can
  17726. always be    avoided by suitable use of parentheses.  {LISP} fans enjoy
  17727.   pointing out that this can't happen in _their_ favorite    language,
  17728. which eschews precedence entirely, requiring one to use    explicit
  17729. parentheses everywhere.  See {aliasing bug}, {memory    leak}, {memory
  17730. smash}, {smash the stack}, {fandango on    core}, {overrun screw}.
  17731.  
  17732.    :prepend: /pree`pend'/ vt.  [by analogy with `append'] To    prefix.
  17733. As with `append' (but not `prefix' or `suffix' as a    verb), the
  17734. direct object is always the thing being added and not    the original
  17735. word (or character string, or whatever).  "If you    prepend a
  17736. semicolon to the line, the translation routine will pass    it through
  17737. unaltered."
  17738.  
  17739.    :prestidigitization: /pres`t*-di`j*-ti:-zay'sh*n/ n.  1. The    act
  17740. of putting something into digital notation via sleight of hand.     2.
  17741. Data entry through legerdemain.
  17742.  
  17743.    :pretty pictures: n.  [scientific computation] The next step    up
  17744. from {numbers}.  Interesting graphical output from a program    that
  17745. may not have any sensible relationship to the system the    program is
  17746. intended to model.  Good for showing to {management}.
  17747.  
  17748.    :prettyprint: /prit'ee-print/ v.  (alt. `pretty-print')    1. To
  17749. generate `pretty' human-readable output from a {hairy}    internal
  17750. representation; esp. used for the process of    {grind}ing (sense 1)
  17751. program code, and most esp. for LISP code.     2. To format in some
  17752. particularly slick and nontrivial way.
  17753.  
  17754.    :pretzel key: n.  [Mac users] See {feature key}.
  17755.  
  17756.    :priesthood: n. obs.  [TMRC] The select group of system    managers
  17757. responsible for the operation and maintenance of a batch    operated
  17758. computer system.  On these computers, a user never had    direct access
  17759. to a computer, but had to submit his/her data and    programs to a
  17760. priest for execution.  Results were returned days or    even weeks
  17761. later.  See {acolyte}.
  17762.  
  17763.    :prime time: n.  [from TV programming] Normal high-usage    hours on
  17764. a system or network.  Back in the days of big timesharing    machines
  17765. `prime time' was when lots of people were competing for    limited
  17766. cycles, usually the day shift.  Avoidance of prime time was
  17767. traditionally given as a major reason for {night mode} hacking.     The
  17768. term fell into disuse during the early PC era, but has been    revived
  17769. to refer to times of day or evening at which the Internet    tends to
  17770. be heavily loaded, making Web access slow.  The hackish    tendency to
  17771. late-night {hacking run}s has changed not a bit.
  17772.  
  17773.    :print: v.  To output, even if to a screen.  If a hacker    says
  17774. that a program "printed a message", he means this; if he    refers to
  17775. printing a file, he probably means it in the conventional    sense of
  17776. writing to a hardcopy device (compounds like `print job'    and
  17777. `printout', on the other hand, always refer to the    latter). This
  17778. very common term is likely a holdover from the days    when printing
  17779. terminals were the norm, perpetuated by programming    language
  17780. constructs like {C}'s printf(3).  See senses 1 and 2 of    {tty}.
  17781.  
  17782.    :printing discussion: n.  [XEROX PARC] A protracted,    low-level,
  17783. time-consuming, generally pointless discussion of    something only
  17784. peripherally interesting to all.
  17785.  
  17786.    :priority interrupt: n.  [from the hardware term] Describes    any
  17787. stimulus compelling enough to yank one right out of {hack    mode}.
  17788. Classically used to describe being dragged away by an    {SO} for
  17789. immediate sex, but may also refer to more mundane    interruptions such
  17790. as a fire alarm going off in the near vicinity.     Also called an
  17791. {NMI} (non-maskable interrupt), especially in    PC-land.
  17792.  
  17793.    :profile: n.  1. A control file for a program, esp. a text    file
  17794. automatically read from each user's home directory and    intended to
  17795. be easily modified by the user in order to customize    the program's
  17796. behavior.  Used to avoid {hardcoded} choices (see    also {dot file},
  17797. {rc file}).  2. [techspeak] A report on the    amounts of time spent in
  17798. each routine of a program, used to find    and {tune} away the {hot
  17799. spot}s in it.  This sense is often    verbed.  Some profiling modes
  17800. report units other than time (such as    call counts) and/or report at
  17801. granularities other than per-routine,    but the idea is similar.
  17802. 3.[techspeak] A subset of a standard used    for a particular purpose.
  17803. This sense confuses hackers who wander    into the weird world of ISO
  17804. standards no end!
  17805.  
  17806.    :progasm: /proh'gaz-m/ n.  [University of Wisconsin] The    euphoria
  17807. experienced upon the completion of a program or other
  17808. computer-related project.
  17809.  
  17810.    :proglet: /prog'let/ n.  [UK] A short extempore program    written
  17811. to meet an immediate, transient need.  Often written in    BASIC,
  17812. rarely more than a dozen lines long, and containing no    subroutines.
  17813. The largest amount of code that can be written off    the top of one's
  17814. head, that does not need any editing, and that    runs correctly the
  17815. first time (this amount varies significantly    according to one's
  17816. skill and the language one is using).  Compare    {toy program},
  17817. {noddy}, {one-liner wars}.
  17818.  
  17819.    :program: n.  1. A magic spell cast over a computer allowing    it
  17820. to turn one's input into error messages.  2. An exercise in
  17821. experimental epistemology.  3. A form of art, ostensibly intended
  17822. for the instruction of computers, which is nevertheless almost
  17823. inevitably a failure if other programmers can't understand it.
  17824.  
  17825.    :Programmer's Cheer:  "Shift to the left!  Shift to the    right!
  17826. Pop up, push down!  Byte!  Byte!  Byte!"  A joke so old it    has hair
  17827. on it.
  17828.  
  17829.    :programming: n.  1. The art of debugging a blank sheet of    paper
  17830. (or, in these days of on-line editing, the art of debugging    an empty
  17831. file).  "Bloody instructions which, being taught, return    to plague
  17832. their inventor" ("Macbeth", Act 1, Scene 7) 2. A    pastime similar to
  17833. banging one's head against a wall, but with    fewer opportunities for
  17834. reward.  3. The most fun you can have with    your clothes on.  4. The
  17835. least fun you can have with your clothes    off.
  17836.  
  17837.    :programming fluid: n.  1. Coffee.  2. Cola.  3. Any
  17838. caffeinacious stimulant.  Many hackers consider these essential for
  17839. those all-night hacking runs.  See {wirewater}.
  17840.  
  17841.    :propeller head: n.  Used by hackers, this is syn. with    {computer
  17842. geek}.  Non-hackers sometimes use it to describe all    techies.  Prob.
  17843. derives from SF fandom's tradition (originally    invented by old-time
  17844. fan Ray Faraday Nelson) of propeller beanies    as fannish insignia
  17845. (though nobody actually wears them except as a    joke).
  17846.  
  17847.    :propeller key: n.  [Mac users] See {feature key}.
  17848.  
  17849.    :proprietary: adj.  1. In {marketroid}-speak, superior;    implies a
  17850. product imbued with exclusive magic by the unmatched    brilliance of
  17851. the company's own hardware or software designers.     2. In the
  17852. language of hackers and users, inferior; implies a    product not
  17853. conforming to open-systems standards, and thus one that    puts the
  17854. customer at the mercy of a vendor able to gouge freely on    service
  17855. and upgrade charges after the initial sale has locked the    customer
  17856. in.  Often in the phrase "proprietary crap".
  17857.  
  17858.    :protocol: n.  As used by hackers, this never refers to    niceties
  17859. about the proper form for addressing letters to the Papal    Nuncio or
  17860. the order in which one should use the forks in a    Russian-style place
  17861. setting; hackers don't care about such things.     It is used instead
  17862. to describe any set of rules that allow    different machines or pieces
  17863. of software to coordinate with each    other without ambiguity.  So,
  17864. for example, it does include niceties    about the proper form for
  17865. addressing packets on a network or the    order in which one should use
  17866. the forks in the Dining Philosophers    Problem.  It implies that there
  17867. is some common message format and    an accepted set of primitives or
  17868. commands that all parties involved    understand, and that transactions
  17869. among them follow predictable    logical sequences.  See also
  17870. {handshaking}, {do protocol}.
  17871.  
  17872.    :provocative maintenance: n.  [common ironic mutation of
  17873. `preventive maintenance'] Actions performed upon a machine at
  17874. regularly scheduled intervals to ensure that the system remains in    a
  17875. usable state.  So called because it is all too often performed by    a
  17876. {field servoid} who doesn't know what he is doing; such
  17877. `maintenance' often _induces_ problems, or otherwise    results in the
  17878. machine's remaining in an _un_usable state for    an indeterminate
  17879. amount of time.  See also {scratch monkey}.
  17880.  
  17881.    :prowler: n.  [Unix] A {daemon} that is run    periodically
  17882. (typically once a week) to seek out and erase    {core} files, truncate
  17883. administrative logfiles, nuke    `lost+found' directories, and
  17884. otherwise clean up the    {cruft} that tends to pile up in the corners
  17885. of a file system.     See also {GFR}, {reaper}, {skulker}.
  17886.  
  17887.    :pseudo: /soo'doh/ n.  [Usenet: truncation of `pseudonym']    1. An
  17888. electronic-mail or {Usenet} persona adopted by a human for    amusement
  17889. value or as a means of avoiding negative repercussions of    one's
  17890. net.behavior; a `nom de Usenet', often associated with    forged
  17891. postings designed to conceal message origins.  Perhaps the
  17892. best-known and funniest hoax of this type is {B1FF}.  See also
  17893. {tentacle}.  2. Notionally, a {flamage}-generating AI program
  17894. simulating a Usenet user.  Many flamers have been accused of
  17895. actually being such entities, despite the fact that no AI program    of
  17896. the required sophistication yet exists.  However, in 1989 there    was
  17897. a famous series of forged postings that used a
  17898. phrase-frequency-based travesty generator to simulate the styles of
  17899. several well-known flamers; it was based on large samples of their
  17900. back postings (compare {Dissociated Press}).  A significant    number
  17901. of people were fooled by the forgeries, and the debate over    their
  17902. authenticity was settled only when the perpetrator came    forward to
  17903. publicly admit the hoax.
  17904.  
  17905.    :pseudoprime: n.  A backgammon prime (six consecutive    occupied
  17906. points) with one point missing.  This term is an esoteric    pun
  17907. derived from number theory: a number that passes a certain kind    of
  17908. "primality test" may be called a `pseudoprime' (all primes    pass any
  17909. such test, but so do some composite numbers), and any    number that
  17910. passes several is, in some sense, almost certainly    prime. The hacker
  17911. backgammon usage stems from the idea that a    pseudoprime is almost as
  17912. good as a prime: it will do the same job    unless you are unlucky.
  17913.  
  17914.    :pseudosuit: /soo'doh-s[y]oot`/ n.  A {suit} wannabee; a    hacker
  17915. who has decided that he wants to be in management or    administration
  17916. and begins wearing ties, sport coats, and (shudder!)     suits
  17917. voluntarily.  It's his funeral.  See also {lobotomy}.
  17918.  
  17919.    :psychedelicware: /si:`k*-del'-ik-weir/ n.  [UK] Syn.     {display
  17920. hack}.  See also {smoking clover}.
  17921.  
  17922.    :psyton: /si:'ton/ n.  [TMRC] The elementary particle    carrying
  17923. the sinister force.  The probability of a process losing    is
  17924. proportional to the number of psytons falling on it.  Psytons    are
  17925. generated by observers, which is why demos are more likely to    fail
  17926. when lots of people are watching.  [This term appears to have    been
  17927. largely superseded by {bogon}; see also {quantum    bogodynamics}.
  17928. --ESR]
  17929.  
  17930.    :pubic directory: /pyoob'ik d*-rek't*-ree/) n.  [NYU]    (also `pube
  17931. directory' /pyoob' d*-rek't*-ree/) The `pub'    (public) directory on a
  17932. machine that allows {FTP} access.  So    called because it is the
  17933. default location for {SEX} (sense 1).     "I'll have the source in the
  17934. pube directory by Friday."
  17935.  
  17936.    :puff: vt.  To decompress data that has been crunched by    Huffman
  17937. coding.  At least one widely distributed Huffman decoder    program was
  17938. actually _named_ `PUFF', but these days it is    usually packaged with
  17939. the encoder.  Oppose {huff}, see    {inflate}.
  17940.  
  17941.    :pumpkin holder: n.  See {patch pumpkin}.
  17942.  
  17943.    :pumpking: n.  Syn. for {pumpkin holder}; see {patch    pumpkin}.
  17944.  
  17945.    :punched card:: n.obs.  [techspeak] (alt. `punch card') The
  17946. signature medium of computing's {Stone Age}, now obsolescent    outside
  17947. of some IBM shops.  The punched card actually predated    computers
  17948. considerably, originating in 1801 as a control device for    mechanical
  17949. looms.  The version patented by Hollerith and used with    mechanical
  17950. tabulating machines in the 1890 U.S. Census was a piece    of cardboard
  17951. about 90 mm by 215 mm.  There is a widespread myth    that it was
  17952. designed to fit in the currency trays used for that    era's larger
  17953. dollar bills, but recent investigations have falsified    this.
  17954.  
  17955.    IBM (which originated as a tabulating-machine manufacturer) married
  17956.  the punched card to computers, encoding binary information as
  17957. patterns of small rectangular holes; one character per column,    80
  17958. columns per card.  Other coding schemes, sizes of card, and    hole
  17959. shapes were tried at various times.
  17960.  
  17961.    The 80-column width of most character terminals is a legacy of the
  17962. IBM punched card; so is the size of the quick-reference cards
  17963. distributed with many varieties of computers even today.  See
  17964. {chad}, {chad box}, {eighty-column mind}, {green card},    {dusty
  17965. deck}, {lace card}, {card walloper}.
  17966.  
  17967.    :punt: v.  [from the punch line of an old joke referring to
  17968. American football: "Drop back 15 yards and punt!"] 1. To give up,
  17969. typically without any intention of retrying.  "Let's punt the    movie
  17970. tonight."  "I was going to hack all night to get this    feature in,
  17971. but I decided to punt" may mean that you've decided    not to stay up
  17972. all night, and may also mean you're not ever even    going to put in
  17973. the feature.  2. More specifically, to give up on    figuring out what
  17974. the {Right Thing} is and resort to an    inefficient hack.  3. A design
  17975. decision to defer solving a problem,    typically because one cannot
  17976. define what is desirable sufficiently    well to frame an algorithmic
  17977. solution.  "No way to know what the    right form to dump the graph in
  17978. is -- we'll punt that for now."     4. To hand a tricky implementation
  17979. problem off to some other    section of the design.  "It's too hard to
  17980. get the compiler to do    that; let's punt to the runtime system." 5.
  17981. To knock someone off    an Internet or chat connection; a `punter'
  17982. thus, is a person or    program that does this.
  17983.  
  17984.    :Purple Book: n.  1. The "System V Interface Definition".     The
  17985. covers of the first editions were an amazingly nauseating shade    of
  17986. off-lavender.  2. Syn. {Wizard Book}.  Donald Lewine's    "POSIX
  17987. Programmer's Guide" (O'Reilly, 1991, ISBN    0-937175-73-0).  See also
  17988. {{book titles}}.
  17989.  
  17990.    :purple wire: n.  [IBM] Wire installed by Field Engineers to work
  17991. around problems discovered during testing or debugging.  These are
  17992. called `purple wires' even when (as is frequently the case) their
  17993. actual physical color is yellow....  Compare {blue wire},    {yellow
  17994. wire}, and {red wire}.
  17995.  
  17996.    :push:  [from the operation that puts the current information    on
  17997. a stack, and the fact that procedure return addresses are saved    on a
  17998. stack] (Also PUSH /push/ or PUSHJ push'J, the latter    based on the
  17999. PDP-10 procedure call instruction.) 1. To put    something onto a
  18000. {stack} or {PDL}.  If one says that    something has been pushed onto
  18001. one's stack, it means that the    Damoclean list of things hanging over
  18002. ones's head has grown longer    and heavier yet.  This may also imply
  18003. that one will deal with it    _before_ other pending items; otherwise
  18004. one might say that the    thing was `added to my queue'.  2. vi. To
  18005. enter upon a    digression, to save the current discussion for later.
  18006. Antonym of    {pop}; see also {stack}, {PDL}.
  18007.  
  18008.    :Python: /pi:'thon/  In the words of its author, "the other
  18009. scripting language" (other than {Perl}, that is).  Python's    design
  18010. is notably clean, elegant, and well thought through; it    tends to
  18011. attract the sort of programmers who find Perl grubby and    exiguous.
  18012. Python's relationship with Perl is rather like the BSD    community's
  18013. relationship to Linux - it's the smaller party in a    (usually
  18014. friendly) rivalry, but the average quality of its    developers is
  18015. generally conceded to be rather higher than in the    larger community
  18016. it competes with.  There's a Python resource page    at
  18017. `http://www.python.org'.  See also {Guido}.
  18018.  
  18019. = Q =
  18020. =====
  18021.  
  18022.    :quad: n.  1. Two bits; syn. for {quarter}, {crumb},    {tayste}.
  18023. 2. A four-pack of anything (compare {hex}, sense    2).  3. The
  18024. rectangle or box glyph used in the APL language for    various arcane
  18025. purposes mostly related to I/O.  Former    Ivy-Leaguers and Oxford
  18026. types are said to associate it with    nostalgic memories of dear old
  18027. University.
  18028.  
  18029.    :quadruple bucky: n. obs.  1. On an MIT {space-cadet    keyboard},
  18030. use of all four of the shifting keys (control, meta,    hyper, and
  18031. super) while typing a character key.  2. On a Stanford    or MIT
  18032. keyboard in {raw mode}, use of four shift keys while    typing a fifth
  18033. character, where the four shift keys are the control    and meta keys
  18034. on _both_ sides of the keyboard.  This was very    difficult to do!
  18035. One accepted technique was to press the    left-control and left-meta
  18036. keys with your left hand, the    right-control and right-meta keys with
  18037. your right hand, and the    fifth key with your nose.
  18038.  
  18039.    Quadruple-bucky combinations were very seldom used in practice,
  18040. because when one invented a new command one usually assigned it to
  18041. some character that was easier to type.  If you want to imply that    a
  18042. program has ridiculously many commands or features, you can say
  18043. something like: "Oh, the command that makes it spin the tapes    while
  18044. whistling Beethoven's Fifth Symphony is    quadruple-bucky-cokebottle."
  18045. See {double bucky}, {bucky    bits}, {cokebottle}.
  18046.  
  18047.    :quantifiers::  In techspeak and jargon, the standard metric
  18048. prefixes used in the SI (Syste`me International) conventions for
  18049. scientific measurement have dual uses.  With units of time or    things
  18050. that come in powers of 10, such as money, they retain their    usual
  18051. meanings of multiplication by powers of 1000 = 10^3.     But when used
  18052. with bytes or other things that naturally come in    powers of 2, they
  18053. usually denote multiplication by powers of    1024 = 2^(10).
  18054.  
  18055.    Here are the SI magnifying prefixes, along with the corresponding
  18056. binary interpretations in common use:
  18057.  
  18058.      prefix  decimal  binary
  18059.      kilo-   1000^1   1024^1 = 2^10 = 1,024
  18060.  
  18061.      mega-   1000^2   1024^2 = 2^20 = 1,048,576
  18062.  
  18063.      giga-   1000^3   1024^3 = 2^30 = 1,073,741,824
  18064.  
  18065.      tera-   1000^4   1024^4 = 2^40 = 1,099,511,627,776
  18066.  
  18067.      peta-   1000^5   1024^5 = 2^50 = 1,125,899,906,842,624
  18068.  
  18069.      exa-    1000^6   1024^6 = 2^60 = 1,152,921,504,606,846,976
  18070.  
  18071.      zetta-  1000^7   1024^7 = 2^70 = 1,180,591,620,717,411,303,424
  18072.  
  18073.      yotta-  1000^8   1024^8 = 2^80 = 1,208,925,819,614,629,174,706,176
  18074.  
  18075.    Here are the SI fractional prefixes:
  18076.  
  18077.      _prefix  decimal     jargon usage_
  18078.      milli-  1000^-1     (seldom used in jargon)
  18079.      micro-  1000^-2     small or human-scale (see {micro-})
  18080.      nano-   1000^-3     even smaller (see {nano-})
  18081.      pico-   1000^-4     even smaller yet (see {pico-})
  18082.      femto-  1000^-5     (not used in jargon---yet)
  18083.      atto-   1000^-6     (not used in jargon---yet)
  18084.      zepto-  1000^-7     (not used in jargon---yet)
  18085.      yocto-  1000^-8     (not used in jargon---yet)
  18086.  
  18087. The prefixes zetta-, yotta-, zepto-, and yocto- have been included
  18088. in these tables purely for completeness and giggle value; they were
  18089. adopted in 1990 by the `19th Conference Generale des Poids et
  18090. Mesures'.  The binary peta- and exa- loadings, though well
  18091. established, are not in jargon use either -- yet.  The prefix
  18092. milli-, denoting multiplication by 1/1000, has always    been rare in
  18093. jargon (there is, however, a standard joke about the    `millihelen' --
  18094. notionally, the amount of beauty required to    launch one ship).  See
  18095. the entries on {micro-}, {pico-}, and    {nano-} for more information
  18096. on connotative jargon use of these    terms.  `Femto' and `atto'
  18097. (which, interestingly, derive not    from Greek but from Danish) have
  18098. not yet acquired jargon loadings,    though it is easy to predict what
  18099. those will be once computing    technology enters the required realms
  18100. of magnitude (however, see    {attoparsec}).
  18101.  
  18102.    There are, of course, some standard unit prefixes for powers of
  18103. 10.  In the following table, the `prefix' column is the
  18104. international standard suffix for the appropriate power of ten; the
  18105. `binary' column lists jargon abbreviations and words for the
  18106. corresponding power of 2.  The B-suffixed forms are commonly used
  18107. for byte quantities; the words `meg' and `gig' are nouns that may
  18108. (but do not always) pluralize with `s'.
  18109.  
  18110.      prefix   decimal   binary       pronunciation
  18111.      kilo-       k      K, KB,       /kay/
  18112.      mega-       M      M, MB, meg   /meg/
  18113.      giga-       G      G, GB, gig   /gig/,jig
  18114.  
  18115. Confusingly, hackers often use K or M as though they were suffix or
  18116. numeric multipliers rather than a prefix; thus "2K dollars", "2M    of
  18117. disk space".  This is also true (though less commonly) of G.
  18118.  
  18119.    Note that the formal SI metric prefix for 1000 is `k'; some use
  18120. this strictly, reserving `K' for multiplication by 1024 (KB is    thus
  18121. `kilobytes').
  18122.  
  18123.    K, M, and G used alone refer to quantities of bytes; thus, 64G is
  18124. 64 gigabytes and `a K' is a kilobyte (compare mainstream use of    `a
  18125. G' as short for `a grand', that is, $1000).  Whether one    pronounces
  18126. `gig' with hard or soft `g' depends on what one thinks    the proper
  18127. pronunciation of `giga-' is.
  18128.  
  18129.    Confusing 1000 and 1024 (or other powers of 2 and 10 close in
  18130. magnitude) -- for example, describing a memory in units of    500K or
  18131. 524K instead of 512K -- is a sure sign of the    {marketroid}.  One
  18132. example of this: it is common to refer to the    capacity of 3.5"
  18133. {microfloppies} as `1.44 MB' In fact, this is a    completely {bogus}
  18134. number.  The correct size is 1440 KB, that    is, 1440 * 1024 = 1474560
  18135. bytes.  So the `mega' in `1.44 MB' is    compounded of two `kilos', one
  18136. of which is 1024 and the other of    which is 1000.  The correct number
  18137. of megabytes would of course be    1440 / 1024 = 1.40625.  Alas, this
  18138. fine point is probably lost on    the world forever.
  18139.  
  18140.    [1993 update: hacker Morgan Burke has proposed, to general
  18141. approval on Usenet, the following additional prefixes:
  18142.  
  18143. groucho
  18144.      10^(-30)
  18145.  
  18146. harpo
  18147.      10^(-27)
  18148.  
  18149. harpi
  18150.      10^(27)
  18151.  
  18152. grouchi
  18153.      10^(30)
  18154.  
  18155. We observe that this would leave the prefixes zeppo-, gummo-, and
  18156. chico- available for future expansion.  Sadly, there is little
  18157. immediate prospect that Mr. Burke's eminently sensible proposal    will
  18158. be ratified.]
  18159.  
  18160.    [1999 upate: there is an    IEC proposal
  18161. (ftp://ftp.informatik.uni-erlangen.de/pub/doc/ISO/information-units)
  18162. for binary multipliers, but no evidence that any of    its proposals
  18163. are in live use.]
  18164.  
  18165.    :quantum bogodynamics: /kwon'tm boh`goh-di:-nam'iks/ n.  A    theory
  18166. that characterizes the universe in terms of bogon sources    (such as
  18167. politicians, used-car salesmen, TV evangelists, and    {suit}s in
  18168. general), bogon sinks (such as taxpayers and    computers), and
  18169. bogosity potential fields.  Bogon absorption, of    course, causes
  18170. human beings to behave mindlessly and machines to    fail (and may also
  18171. cause both to emit secondary bogons); however,    the precise mechanics
  18172. of the bogon-computron interaction are not    yet understood and remain
  18173. to be elucidated.  Quantum bogodynamics    is most often invoked to
  18174. explain the sharp increase in hardware and    software failures in the
  18175. presence of suits; the latter emit bogons,    which the former absorb.
  18176. See {bogon}, {computron},    {suit}, {psyton}.
  18177.  
  18178.    :quarter: n.  Two bits.  This in turn comes from the `pieces    of
  18179. eight' famed in pirate movies -- Spanish silver crowns that    could be
  18180. broken into eight pie-slice-shaped `bits' to make    change.  Early in
  18181. American history the Spanish coin was considered    equal to a dollar,
  18182. so each of these `bits' was considered worth    12.5 cents.  Syn.
  18183. {tayste}, {crumb}, {quad}.  Usage:    rare.  General discussion of such
  18184. terms is under {nybble}.
  18185.  
  18186.    :ques: /kwes/  1. n. The question mark character (`?',    ASCII
  18187. 0111111).  2. interj.  What?  Also frequently verb-doubled as    "Ques
  18188. ques?"  See {wall}.
  18189.  
  18190.    :quick-and-dirty: adj.  [common] Describes a {crock}    put together
  18191. under time or user pressure.  Used esp. when you    want to convey that
  18192. you think the fast way might lead to trouble    further down the road.
  18193. "I can have a quick-and-dirty fix in place    tonight, but I'll have to
  18194. rewrite the whole module to solve the    underlying design problem."
  18195. See also {kluge}.
  18196.  
  18197.    :quine: /kwi:n/ n.  [from the name of the logician Willard    van
  18198. Orman Quine, via Douglas Hofstadter] A program that generates a    copy
  18199. of its own source text as its complete output.  Devising the
  18200. shortest possible quine in some given programming language is a
  18201. common hackish amusement.  Here is one classic quine:
  18202.  
  18203.      ((lambda (x)
  18204.        (list x (list (quote quote) x)))
  18205.       (quote
  18206.          (lambda (x)
  18207.            (list x (list (quote quote) x)))))
  18208.  
  18209.    This one works in LISP or Scheme.  It's relatively easy to write
  18210. quines in other languages such as Postscript which readily handle
  18211. programs as data; much harder (and thus more challenging!) in
  18212. languages like C which do not.  Here is a classic C quine for ASCII
  18213. machines:
  18214.  
  18215.      char*f="char*f=%c%s%c;main()
  18216.      {printf(f,34,f,34,10);}%c";
  18217.      main(){printf(f,34,f,34,10);}
  18218.  
  18219.    For excruciatingly exact quinishness, remove the interior line
  18220. breaks.  Some infamous {Obfuscated C Contest} entries have been
  18221. quines that reproduced in exotic ways.
  18222.  
  18223.    :quote chapter and verse: v.  [by analogy with the mainstream
  18224. phrase] To cite a relevant excerpt from an appropriate {bible}.     "I
  18225. don't care if `rn' gets it wrong; `Followup-To: poster' is
  18226. explicitly permitted by {RFC}-1036.  I'll quote chapter and    verse if
  18227. you don't believe me."  See also {legalese},    {language lawyer},
  18228. {RTFS} (sense 2).
  18229.  
  18230.    :quotient: n.  See {coefficient of X}.
  18231.  
  18232.    :quux: /kwuhks/ n.  [Mythically, from the Latin    semi-deponent
  18233. verb quuxo, quuxare, quuxandum iri; noun form    variously `quux'
  18234. (plural `quuces', anglicized to `quuxes')    and `quuxu' (genitive
  18235. plural is `quuxuum', for four u-letters    out of seven in all, using
  18236. up all the `u' letters in Scrabble).]     1. Originally, a
  18237. {metasyntactic variable} like {foo} and    {foobar}.  Invented by Guy
  18238. Steele for precisely this purpose    when he was young and naive and
  18239. not yet interacting with the real    computing community.  Many people
  18240. invent such words; this one seems    simply to have been lucky enough
  18241. to have spread a little.  In an    eloquent display of poetic justice,
  18242. it has returned to the    originator in the form of a nickname.  2.
  18243. interj. See {foo};    however, denotes very little disgust, and is
  18244. uttered mostly for the    sake of the sound of it.  3. Guy Steele in
  18245. his persona as `The    Great Quux', which is somewhat infamous for
  18246. light verse and for the    `Crunchly' cartoons.  4. In some circles,
  18247. used as a punning    opposite of `crux'.  "Ah, that's the quux of the
  18248. matter!"     implies that the point is _not_ crucial (compare {tip of
  18249. the ice-cube}).  5. quuxy: adj. Of or pertaining to a quux.
  18250.  
  18251.    :qux: /kwuhks/  The fourth of the standard {metasyntactic
  18252. variable}, after {baz} and before the quu(u...)x series.     See {foo},
  18253. {bar}, {baz}, {quux}.  This appears to be a    recent mutation from
  18254. {quux}, and many versions (especially older    versions) of the
  18255. standard series just run {foo}, {bar},    {baz}, {quux}, ....
  18256.  
  18257.    :QWERTY: /kwer'tee/ adj.  [from the keycaps at the upper    left]
  18258. Pertaining to a standard English-language typewriter keyboard
  18259. (sometimes called the Sholes keyboard after its inventor), as
  18260. opposed to Dvorak or non-US-ASCII layouts or a {space-cadet
  18261. keyboard} or APL keyboard.
  18262.  
  18263.    Historical note: The QWERTY layout is a fine example of a {fossil}.
  18264.   It is sometimes said that it was designed to slow down the typist,
  18265. but this is wrong; it was designed to allow _faster_ typing    --
  18266. under a constraint now long obsolete.  In early typewriters,    fast
  18267. typing using nearby type-bars jammed the mechanism.  So Sholes
  18268. fiddled the layout to separate the letters of many common digraphs
  18269. (he did a far from perfect job, though; `th', `tr', `ed', and `er',
  18270. for example, each use two nearby keys).  Also, putting the letters
  18271. of `typewriter' on one line allowed it to be typed with particular
  18272. speed and accuracy for {demo}s.  The jamming problem was    essentially
  18273. solved soon afterward by a suitable use of springs, but    the keyboard
  18274. layout lives on.
  18275.  
  18276.    The QWERTY keyboard has also spawned some unhelpful economic myths
  18277. about how technical standards get and stay established; see
  18278. `http://www.reasonmag.com/9606/Fe.QWERTY.html'.
  18279.  
  18280. = R =
  18281. =====
  18282.  
  18283.    :rabbit job: n.  [Cambridge] A batch job that does little, if
  18284. any, real work, but creates one or more copies of itself, breeding
  18285. like rabbits.  Compare {wabbit}, {fork bomb}.
  18286.  
  18287.    :rain dance: n.  1. Any ceremonial action taken to correct a
  18288. hardware problem, with the expectation that nothing will be
  18289. accomplished.  This especially applies to reseating printed circuit
  18290. boards, reconnecting cables, etc.  "I can't boot up the machine.
  18291. We'll have to wait for Greg to do his rain dance."  2. Any arcane
  18292. sequence of actions performed with computers or software in order    to
  18293. achieve some goal; the term is usually restricted to rituals    that
  18294. include both an {incantation} or two and physical activity    or
  18295. motion.  Compare {magic}, {voodoo programming}, {black    art}, {cargo
  18296. cult programming}, {wave a dead chicken}; see    also {casting the
  18297. runes}.
  18298.  
  18299.    :rainbow series: n.  Any of several series of technical    manuals
  18300. distinguished by cover color.  The original rainbow series    was the
  18301. NCSC security manuals (see {Orange Book}, {crayola    books}); the term
  18302. has also been commonly applied to the PostScript    reference set (see
  18303. {Red Book}, {Green Book}, {Blue Book},    {White Book}).  Which books
  18304. are meant by "`the' rainbow    series" unqualified is thus dependent on
  18305. one's local technical    culture.
  18306.  
  18307.    :random: adj.  1. Unpredictable (closest to mathematical
  18308. definition); weird.  "The system's been behaving pretty    randomly."
  18309. 2. Assorted; undistinguished.  "Who was at the    conference?"  "Just a
  18310. bunch of random business types."     3. (pejorative) Frivolous;
  18311. unproductive; undirected.  "He's just a    random loser."  4.
  18312. Incoherent or inelegant; poorly chosen; not    well organized.  "The
  18313. program has a random set of misfeatures."     "That's a random name for
  18314. that function."  "Well, all the names    were chosen pretty randomly."
  18315. 5. In no particular order, though    deterministic.  "The I/O channels
  18316. are in a pool, and when a file    is opened one is chosen randomly."
  18317. 6. Arbitrary.  "It generates    a random name for the scratch file."
  18318. 7. Gratuitously wrong, i.e.,    poorly done and for no good apparent
  18319. reason.  For example, a    program that handles file name defaulting in
  18320. a particularly useless    way, or an assembler routine that could
  18321. easily have been coded    using only three registers, but redundantly
  18322. uses seven for values    with non-overlapping lifetimes, so that no one
  18323. else can invoke it    without first saving four extra registers.  What
  18324. {randomness}!     8. n. A random hacker; used particularly of
  18325. high-school    students who soak up computer time and generally get in
  18326. the way.     9. n.  Anyone who is not a hacker (or, sometimes, anyone
  18327. not known    to the hacker speaking); the noun form of sense 2.  "I
  18328. went to the    talk, but the audience was full of randoms asking bogus
  18329.  questions".  10. n. (occasional MIT usage) One who lives at    Random
  18330. Hall.  See also {J. Random}, {some random X}.     11. [UK]
  18331. Conversationally, a non sequitur or something similarly
  18332. out-of-the-blue. As in: "Stop being so random!"  This sense    equates
  18333. to `hatstand', taken from the Viz comic character "Roger    Irrelevant
  18334. - He's completely Hatstand."
  18335.  
  18336.    :random numbers:: n.  When one wishes to specify a large but
  18337. random number of things, and the context is inappropriate for    {N},
  18338. certain numbers are preferred by hacker tradition (that is,    easily
  18339. recognized as placeholders).  These include the following:
  18340.  
  18341.     17
  18342.           Long described at MIT as `the least random number'; see 23.
  18343.  
  18344.     23
  18345.           Sacred number of Eris, Goddess of Discord (along with 17 and
  18346.           5).
  18347.  
  18348.     42
  18349.           The Answer to the Ultimate Question of Life, the Universe, and
  18350.           Everything. (Note that this answer is completely fortuitous.
  18351.           `:-)')
  18352.  
  18353.     69
  18354.           From the sexual act.  This one was favored in MIT's ITS
  18355.           culture.
  18356.  
  18357.     105
  18358.           69 hex = 105 decimal, and 69 decimal = 105 octal.  Also, 105
  18359.           is 69 in base 42.
  18360.  
  18361.     666
  18362.           The Number of the Beast.
  18363.  
  18364. For further enlightenment, study the "Principia Discordia",    "{The
  18365. Hitchhiker's Guide to the Galaxy}", "The Joy    of Sex", and the
  18366. Christian Bible (Revelation 13:18).  See also    {Discordianism} or
  18367. consult your pineal gland.  See also {for    values of}.
  18368.  
  18369.    :randomness: n.  1. An inexplicable misfeature; gratuitous
  18370. inelegance.  2. A {hack} or {crock} that depends on a complex
  18371. combination of coincidences (or, possibly, the combination upon
  18372. which the crock depends for its accidental failure to malfunction).
  18373. "This hack can output characters 40-57 by putting the character    in
  18374. the four-bit accumulator field of an XCT and then extracting six
  18375. bits -- the low 2 bits of the XCT opcode are the right thing."
  18376. "What randomness!"  3. Of people, synonymous with `flakiness'.     The
  18377. connotation is that the person so described is behaving    weirdly,
  18378. incompetently, or inappropriately for reasons which are    (a) too
  18379. tiresome to bother inquiring into, (b) are probably as    inscrutable
  18380. as quantum phenomena anyway, and (c) are likely to pass    with time.
  18381. "Maybe he has a real complaint, or maybe it's just    randomness.  See
  18382. if he calls back."
  18383.  
  18384.    Despite the negative connotations jargon uses of this term have, it
  18385.  is worth noting that randomness can actually be a valuable
  18386. resource, very useful for applications in cryptography and
  18387. elsewhere.  Computers are so thoroughly deterministic that they    have
  18388. a hard time generating high-quality randomess, so hackers have
  18389. sometimes felt the need to built special-purpose contraptions for
  18390. this purpose alone.  One well-known website offers random bits
  18391. generated by radioactive decay (http://www.fourmilab.ch/hotbits/).
  18392. Another derives random bits from    images of Lava Lite lamps
  18393. (http://lavarand.sgi.com/).     (Hackers invariably find the latter
  18394. hilarious.  If you have to ask    why, you'll never get it.)
  18395.  
  18396.    :rape: vt.  1. To {screw} someone or something, violently;    in
  18397. particular, to destroy a program or information irrecoverably.
  18398. Often used in describing file-system damage.  "So-and-so was    running
  18399. a program that did absolute disk I/O and ended up raping    the master
  18400. directory."  2. To strip a piece of hardware for parts.     3.
  18401. [CMU/Pitt] To mass-copy files from an anonymous ftp site.     "Last
  18402. night I raped Simtel's dskutl directory."
  18403.  
  18404.    :rare mode: adj.  [Unix] CBREAK mode (character-by-character    with
  18405. interrupts enabled).  Distinguished from {raw mode} and    {cooked
  18406. mode}; the phrase "a sort of half-cooked (rare?) mode"    is used in
  18407. the V7/BSD manuals to describe the mode.  Usage: rare.
  18408.  
  18409.    :raster blaster: n.  [Cambridge] Specialized hardware for
  18410. {bitblt} operations (a {blitter}).  Allegedly inspired by    `Rasta
  18411. Blasta', British slang for the sort of portable stereo    Americans
  18412. call a `boom box' or `ghetto blaster'.
  18413.  
  18414.    :raster burn: n.  Eyestrain brought on by too many hours of
  18415. looking at low-res, poorly tuned, or glare-ridden monitors, esp.
  18416. graphics monitors.  See {terminal illness}.
  18417.  
  18418.    :rasterbation: n.  [portmanteau: raster + masturbation]    The
  18419. gratuituous use of comuputer generated images and effects in    movies
  18420. and graphic art which would have been better without them.
  18421. Especially employed as a term of abuse by Photoshop/GIMP users and
  18422. graphic artists.
  18423.  
  18424.    :rat belt: n.  A cable tie, esp. the sawtoothed,    self-locking
  18425. plastic kind that you can remove only by cutting (as    opposed to a
  18426. random twist of wire or a twist tie or one of those    humongous metal
  18427. clip frobs).  Small cable ties are `mouse belts'.
  18428.  
  18429.    :rat dance: n.  [From the {Dilbert} comic strip of November    14,
  18430. 1995] A {hacking run} that produces results which, while
  18431. superficially coherent, have little or nothing to do with its
  18432. original objectives.  There are strong connotations that the coding
  18433. process and the objectives themselves were pretty {random}.  (In    the
  18434. original comic strip, the Ratbert is invited to dance    on Dilbert's
  18435. keyboard in order to produce bugs for him to fix, and    authors a Web
  18436. browser instead.) Compare {Infinite-Monkey    Theorem}.
  18437.  
  18438.    This term seems to have become widely recognized quite rapidly
  18439. after the original strip, a fact which testifies to Dilbert's huge
  18440. popularity among hackers.  All too many find the perverse    incentives
  18441. and Kafkaesque atmosphere of Dilbert's mythical    workplace reflective
  18442. of their own experiences.
  18443.  
  18444.    :rave: vi.  [WPI] 1. To persist in discussing a specific    subject.
  18445. 2. To speak authoritatively on a subject about which one    knows very
  18446. little.  3. To complain to a person who is not in a    position to
  18447. correct the difficulty.  4. To purposely annoy another    person
  18448. verbally.  5. To evangelize.  See {flame}.  6. Also used    to describe
  18449. a less negative form of blather, such as friendly    bullshitting.
  18450. `Rave' differs slightly from {flame} in that    `rave' implies that it
  18451. is the persistence or obliviousness of the    person speaking that is
  18452. annoying, while {flame} implies somewhat    more strongly that the tone
  18453. or content is offensive as well.
  18454.  
  18455.    :rave on!: imp.  Sarcastic invitation to continue a {rave},    often
  18456. by someone who wishes the raver would get a clue but realizes    this
  18457. is unlikely.
  18458.  
  18459.    :ravs: /ravz/, also `Chinese ravs' n.  Jiao-zi (steamed or
  18460. boiled) or Guo-tie (pan-fried).  A Chinese appetizer, known
  18461. variously in the plural as dumplings, pot stickers (the literal
  18462. translation of guo-tie), and (around Boston) `Peking Ravioli'.  The
  18463. term `rav' is short for `ravioli', and among hackers always    means
  18464. the Chinese kind rather than the Italian kind.  Both consist    of a
  18465. filling in a pasta shell, but the Chinese kind includes no    cheese,
  18466. uses a thinner pasta, has a pork-vegetable filling (good    ones
  18467. include Chinese chives), and is cooked differently, either by
  18468. steaming or frying.  A rav or dumpling can be cooked any way, but a
  18469. potsticker is always the pan-fried kind (so called because it sticks to
  18470.   the frying pot and has to be scraped off).  "Let's get
  18471. hot-and-sour soup and three orders of ravs."  See also    {{oriental
  18472. food}}.
  18473.  
  18474.    :raw mode: n.  A mode that allows a program to transfer    bits
  18475. directly to or from an I/O device (or, under {bogus}    operating
  18476. systems that make a distinction, a disk file) without any
  18477. processing, abstraction, or interpretation by the operating system.
  18478. Compare {rare mode}, {cooked mode}.  This is techspeak under    Unix,
  18479. jargon elsewhere.
  18480.  
  18481.    :RBL: /R-B-L/  Abbreviation: "Realtime Blackhole List". A    service
  18482. that allows people to blacklist sites for emitting    {spam}, and makes
  18483. the blacklist available in real time to    electronic-mail transport
  18484. programs that know how to use RBL so they    can filter out mail from
  18485. those sites.  Drastic but effective.     There is an RBL home page
  18486. (http://maps.vix.com/rbl/usage.html).
  18487.  
  18488.    :rc file: /R-C fi:l/ n.  [Unix: from `runcom files' on    the {CTSS}
  18489. system ca.1955, via the startup script    `/etc/rc'] Script file
  18490. containing startup instructions for an    application program (or an
  18491. entire operating system), usually a text    file containing commands of
  18492. the sort that might have been invoked    manually once the system was
  18493. running but are to be executed    automatically each time the system
  18494. starts up.  See also {dot    file}, {profile} (sense 1).
  18495.  
  18496.    :RE: /R-E/ n.  Common spoken and written shorthand for    {regexp}.
  18497.  
  18498.    :read-only user: n.  Describes a {luser} who uses computers
  18499. almost exclusively for reading Usenet, bulletin boards, and/or
  18500. email, rather than writing code or purveying useful information.
  18501. See {twink}, {terminal junkie}, {lurker}.
  18502.  
  18503.    :README file: n.  Hacker's-eye introduction traditionally
  18504. included in the top-level directory of a Unix source distribution,
  18505. containing a pointer to more detailed documentation, credits,
  18506. miscellaneous revision history, notes, etc.  (The file may be named
  18507. README, or READ.ME, or rarely ReadMe or readme.txt or some other
  18508. variant.)  In the Mac and PC worlds, software is not usually
  18509. distributed in source form, and the README is more likely to    contain
  18510. user-oriented material like last-minute documentation    changes, error
  18511. workarounds, and restrictions.  When asked, hackers    invariably
  18512. relate the README convention to the famous scene in    Lewis Carroll's
  18513. "Alice's Adventures In Wonderland" in which    Alice confronts magic
  18514. munchies labeled "Eat Me" and "Drink Me".
  18515.  
  18516.    :real: adj.  Not simulated.  Often used as a specific antonym    to
  18517. {virtual} in any of its jargon senses.
  18518.  
  18519.    :real estate: n.  May be used for any critical resource    measured
  18520. in units of area.  Most frequently used of `chip real    estate', the
  18521. area available for logic on the surface of an    integrated circuit
  18522. (see also {nanoacre}).  May also be used of    floor space in a
  18523. {dinosaur pen}, or even space on a crowded    desktop (whether physical
  18524. or electronic).
  18525.  
  18526.    :real hack: n.  A {crock}.  This is sometimes used
  18527. affectionately; see {hack}.
  18528.  
  18529.    :real operating system: n.  The sort the speaker is used to.
  18530. People from the BSDophilic academic community are likely to issue
  18531. comments like "System V?  Why don't you use a _real_    operating
  18532. system?", people from the commercial/industrial Unix    sector are
  18533. known to complain "BSD?  Why don't you use a    _real_ operating
  18534. system?", and people from IBM object    "Unix?  Why don't you use a
  18535. _real_ operating system?"  Only    {MS-DOS} is universally considered
  18536. unreal.  See {holy wars},    {religious issues}, {proprietary}, {Get a
  18537. real computer!}
  18538.  
  18539.    :Real Programmer: n.  [indirectly, from the book    "Real Men Don't
  18540. Eat Quiche"] A particular sub-variety of    hacker: one possessed of a
  18541. flippant attitude toward complexity that    is arrogant even when
  18542. justified by experience.  The archetypal    `Real Programmer' likes to
  18543. program on the {bare metal} and is    very good at same, remembers the
  18544. binary opcodes for every machine    he has ever programmed, thinks that
  18545. HLLs are sissy, and uses a    debugger to edit his code because
  18546. full-screen editors are for    wimps.  Real Programmers aren't
  18547. satisfied with code that hasn't    been {bum}med into a state of
  18548. {tense}ness just short of    rupture.  Real Programmers never use
  18549. comments or write    documentation: "If it was hard to write", says the
  18550. Real    Programmer, "it should be hard to understand."  Real Programmers
  18551.   can make machines do things that were never in their spec sheets;
  18552. in fact, they are seldom really happy unless doing so.  A Real
  18553. Programmer's code can awe with its fiendish brilliance, even as its
  18554. crockishness appalls.  Real Programmers live on junk food and
  18555. coffee, hang line-printer art on their walls, and terrify the crap
  18556. out of other programmers -- because someday, somebody else might
  18557. have to try to understand their code in order to change it.  Their
  18558. successors generally consider it a {Good Thing} that there    aren't
  18559. many Real Programmers around any more.  For a famous (and    somewhat
  18560. more positive) portrait of a Real Programmer, see    "{The Story of
  18561. Mel}" in Appendix A.  The term itself    was popularized by a 1983
  18562. Datamation article "Real    Programmers Don't Use Pascal" by Ed Post,
  18563. still circulating on    Usenet and Internet in on-line form.     You
  18564. can browse "Real Programmers Don't Use Pascal" from the    Datamation
  18565. home page `http://www.datamation.com'.
  18566.  
  18567.    :Real Soon Now: adv.  [orig. from SF's fanzine community,
  18568. popularized by Jerry Pournelle's column in "BYTE"] 1. Supposed    to be
  18569. available (or fixed, or cheap, or whatever) real soon now    according
  18570. to somebody, but the speaker is quite skeptical.  2. When    one's
  18571. gods, fates, or other time commitments permit one to get to    it (in
  18572. other words, don't hold your breath).  Often abbreviated    RSN.
  18573. Compare {copious free time}.
  18574.  
  18575.    :real time:  1. [techspeak] adj. Describes an application    which
  18576. requires a program to respond to stimuli within some small    upper
  18577. limit of response time (typically milli- or microseconds).     Process
  18578. control at a chemical plant is the classic example.  Such
  18579. applications often require special operating systems (because
  18580. everything else must take a back seat to response time) and
  18581. speed-tuned hardware.  2. adv. In jargon, refers to doing something
  18582. while people are watching or waiting.  "I asked her how to find    the
  18583. calling procedure's program counter on the stack and she came    up
  18584. with an algorithm in real time."
  18585.  
  18586.    :real user: n.  1. A commercial user.  One who is paying    _real_
  18587. money for his computer usage.  2. A non-hacker.     Someone using the
  18588. system for an explicit purpose (a research    project, a course, etc.)
  18589. other than pure exploration.  See    {user}.  Hackers who are also
  18590. students may also be real users.     "I need this fixed so I can do a
  18591. problem set.  I'm not complaining    out of randomness, but as a real
  18592. user."  See also {luser}.
  18593.  
  18594.    :Real World: n.  1. Those institutions at which    `programming' may
  18595. be used in the same sentence as `FORTRAN',    `{COBOL}', `RPG',
  18596. `{IBM}', `DBASE', etc.  Places where    programs do such commercially
  18597. necessary but intellectually    uninspiring things as generating
  18598. payroll checks and invoices.     2. The location of non-programmers and
  18599. activities not related to    programming.  3. A bizarre dimension in
  18600. which the standard dress is    shirt and tie and in which a person's
  18601. working hours are defined as    9 to 5 (see {code grinder}).  4.
  18602. Anywhere outside a university.     "Poor fellow, he's left MIT and gone
  18603. into the Real World."  Used    pejoratively by those not in residence
  18604. there.  In conversation,    talking of someone who has entered the Real
  18605. World is not unlike    speaking of a deceased person.  It is also
  18606. noteworthy that on the    campus of Cambridge University in England,
  18607. there is a gaily-painted    lamp-post which bears the label `REALITY
  18608. CHECKPOINT'.  It marks the    boundary between university and the Real
  18609. World; check your notions    of reality before passing.  This joke is
  18610. funnier because the    Cambridge `campus' is actually coextensive with
  18611. the center of    Cambridge town.  See also {fear and loathing},
  18612. {mundane}, and    {uninteresting}.
  18613.  
  18614.    :reality check: n.  1. The simplest kind of test of software    or
  18615. hardware; doing the equivalent of asking it what 2 + 2 is    and seeing
  18616. if you get 4.  The software equivalent of a {smoke    test}.  2. The
  18617. act of letting a {real user} try out prototype    software.  Compare
  18618. {sanity check}.
  18619.  
  18620.    :reality-distortion field: n.  An expression used to    describe the
  18621. persuasive ability of managers like Steve Jobs (the    term originated
  18622. at Apple in the 1980s to describe his peculiar    charisma).  Those
  18623. close to these managers become passionately    committed to possibly
  18624. insane projects, without regard to the    practicality of their
  18625. implementation or competitive forces in the    marketpace.
  18626.  
  18627.    :reaper: n.  A {prowler} that {GFR}s files.  A file    removed in
  18628. this way is said to have been `reaped'.
  18629.  
  18630.    :recompile the world:  The surprisingly large amount of work    that
  18631. needs to be done as the result of any small but globally    visible
  18632. program change. "The world" may mean the entirety of some    huge
  18633. program, or may in theory refer to every program of a certain    class
  18634. in the entire known universe. For instance, "Add one #define    to
  18635. stdio.h, and you have to recompile the world." This means that    any
  18636. minor change to the standard-I/O header file theoretically    mandates
  18637. recompiling every C program in existence, even if only to    verify
  18638. that the change didn't screw something else up. In practice,    you may
  18639. not actually have to recompile the world, but the    implication is
  18640. that some human cleverness is required to figure out    what parts can
  18641. be safely left out.
  18642.  
  18643.    :rectangle slinger: n.  See {polygon pusher}.
  18644.  
  18645.    :recursion: n.  See {recursion}.  See also {tail    recursion}.
  18646.  
  18647.    :recursive acronym:: n.  A hackish (and especially MIT)    tradition
  18648. is to choose acronyms/abbreviations that refer humorously    to
  18649. themselves or to other acronyms/abbreviations.  The classic    examples
  18650. were two MIT editors called EINE ("EINE Is Not EMACS")    and ZWEI
  18651. ("ZWEI Was EINE Initially").  More recently, there is a    Scheme
  18652. compiler called LIAR (Liar Imitates Apply Recursively), and    {GNU}
  18653. (q.v., sense 1) stands for "GNU's Not Unix!" -- and a    company with
  18654. the name Cygnus, which expands to "Cygnus, Your GNU    Support" (though
  18655. Cygnus people say this is a {backronym}).  See    also {mung}, {EMACS}.
  18656.  
  18657.    :Red Book: n.  1. Informal name for one of the four    standard
  18658. references on {{PostScript}} ("PostScript Language    Reference
  18659. Manual", Adobe Systems (Addison-Wesley, 1985;    QA76.73.P67P67; ISBN
  18660. 0-201-10174-2, or the 1990 second edition ISBN    0-201-18127-4); the
  18661. others are known as the {Green Book}, the    {Blue Book}, and the
  18662. {White Book} (sense 2).  2. Informal    name for one of the 3 standard
  18663. references on Smalltalk    ("Smalltalk-80: The Interactive Programming
  18664. Environment" by    Adele Goldberg (Addison-Wesley, 1984;
  18665. QA76.8.S635G638; ISBN    0-201-11372-4); this too is associated with
  18666. blue and green books).     3. Any of the 1984 standards issued by the
  18667. CCITT eighth plenary    assembly.  These include, among other things,
  18668. the X.400 email spec    and the Group 1 through 4 fax standards.  4.
  18669. The new version of the    {Green Book} (sense 4) -- IEEE 1003.1-1990,
  18670. a.k.a ISO 9945-1    -- is (because of the color and the fact that it is
  18671. printed on A4    paper) known in the USA as "the Ugly Red Book That
  18672. Won't Fit On    The Shelf" and in Europe as "the Ugly Red Book That's A
  18673. Sensible    Size".  5. The NSA "Trusted Network Interpretation"
  18674. companion    to the {Orange Book}.  6. Nemeth, Snyder, Seebass, Hein;
  18675. "Unix System Administration Handbook, Second Edition"    (Prentice
  18676. Hall PTR, New Jersey; 1995; QA76.76.063N45; ISBN    0-13-151051-7).
  18677. See also {{book titles}}.
  18678.  
  18679.    :red wire: n.  [IBM] Patch wires installed by programmers who have
  18680. no business mucking with the hardware.  It is said that the only
  18681. thing more dangerous than a hardware guy with a code patch is a
  18682. {softy} with a soldering iron....  Compare {blue wire},    {yellow
  18683. wire}, {purple wire}.
  18684.  
  18685.    :regexp: /reg'eksp/ n.  [Unix] (alt. `regex' or `reg-ex')    1.
  18686. Common written and spoken abbreviation for `regular    expression', one
  18687. of the wildcard patterns used, e.g., by Unix    utilities such as
  18688. `grep(1)', `sed(1)', and `awk(1)'.     These use conventions similar to
  18689. but more elaborate than those    described under {glob}.  For purposes
  18690. of this lexicon, it is    sufficient to note that regexps also allow
  18691. complemented character    sets using `^'; thus, one can specify `any
  18692. non-alphabetic    character' with `[^A-Za-z]'.  2. Name of a well-known
  18693. PD    regexp-handling package in portable C, written by revered
  18694. Usenetter    Henry Spencer <<henry@zoo.toronto.edu>>.
  18695.  
  18696.    :register dancing: n.  Many older processor architectures    suffer
  18697. from a serious shortage of general-purpose registers.  This    is
  18698. especially a problem for compiler-writers, because their    generated
  18699. code needs places to store temporaries for things like    intermediate
  18700. values in expression evaluation.  Some designs with    this problem,
  18701. like the Intel 80x86, do have a handful of    special-purpose registers
  18702. that can be pressed into service,    providing suitable care is taken
  18703. to avoid unpleasant side effects    on the state of the processor:
  18704. while the special-purpose register    is being used to hold an
  18705. intermediate value, a delicate minuet is    required in which the
  18706. previous value of the register is saved and    then restored just
  18707. before the official function (and value) of the    special-purpose
  18708. register is again needed.
  18709.  
  18710.    :rehi:  [IRC, MUD] "Hello again." Very commonly used to greet
  18711. people upon returning to an IRC channel after {channel    hopping}.
  18712.  
  18713.    :reincarnation, cycle of: n.  See {cycle of reincarnation}.
  18714.  
  18715.    :reinvent the wheel: v.  To design or implement a tool    equivalent
  18716. to an existing one or part of one, with the implication    that doing
  18717. so is silly or a waste of time.  This is often a valid    criticism.
  18718. On the other hand, automobiles don't use wooden    rollers, and some
  18719. kinds of wheel have to be reinvented many times    before you get them
  18720. right.  On the third hand, people reinventing    the wheel do tend to
  18721. come up with the moral equivalent of a    trapezoid with an offset axle.
  18722.  
  18723.    :relay rape: n.  The hijacking of a third party's    unsecured mail
  18724. server to deliver {spam}.
  18725.  
  18726.    :religion of CHI: /ki:/ n.  [Case Western Reserve    University] Yet
  18727. another hackish parody religion (see also    {Church of the SubGenius},
  18728. {Discordianism}).  In the mid-70s,    the canonical "Introduction to
  18729. Programming" courses at CWRU were    taught in Algol, and student
  18730. exercises were punched on cards and    run on a Univac 1108 system
  18731. using a homebrew operating system named    CHI.  The religion had no
  18732. doctrines and but one ritual: whenever    the worshipper noted that a
  18733. digital clock read 11:08, he or she    would recite the phrase "It is
  18734. 11:08; ABS, ALPHABETIC, ARCSIN,    ARCCOS, ARCTAN."  The last five
  18735. words were the first five    functions in the appropriate chapter of
  18736. the Algol manual; note the    special pronunciations /obz/ and ark'sin
  18737. rather than the more    common /ahbz/ and ark'si:n.  Using an alarm
  18738. clock to warn of    11:08's arrival was {considered harmful}.
  18739.  
  18740.    :religious issues: n.  Questions which seemingly cannot be    raised
  18741. without touching off {holy wars}, such as "What is the    best
  18742. operating system (or editor, language, architecture, shell,    mail
  18743. reader, news reader)?", "What about that Heinlein guy,    eh?", "What
  18744. should we add to the new Jargon File?"  See    {holy wars}; see also
  18745. {theology}, {bigot}.
  18746.  
  18747.    This term is a prime example of {ha ha only serious}.  People
  18748. actually develop the most amazing and religiously intense
  18749. attachments to their tools, even when the tools are intangible.     The
  18750. most constructive thing one can do when one stumbles into the
  18751. crossfire is mumble {Get a life!} and leave -- unless, of course,
  18752. one's _own_ unassailably rational and obviously correct    choices are
  18753. being slammed.
  18754.  
  18755.    :replicator: n.  Any construct that acts to produce copies of
  18756. itself; this could be a living organism, an idea (see {meme}), a
  18757. program (see {quine}, {worm}, {wabbit}, {fork bomb},    and {virus}), a
  18758. pattern in a cellular automaton (see {life},    sense 1), or
  18759. (speculatively) a robot or {nanobot}.  It is even    claimed by some
  18760. that {{Unix}} and {C} are the symbiotic halves    of an extremely
  18761. successful replicator; see {Unix conspiracy}.
  18762.  
  18763.    :reply: n.  See {followup}.
  18764.  
  18765.    :restriction: n.  A {bug} or design error that limits a    program's
  18766. capabilities, and which is sufficiently egregious that    nobody can
  18767. quite work up enough nerve to describe it as a    {feature}.  Often
  18768. used (esp. by {marketroid} types) to make    it sound as though some
  18769. crippling bogosity had been intended by the    designers all along, or
  18770. was forced upon them by arcane technical    constraints of a nature no
  18771. mere user could possibly comprehend    (these claims are almost
  18772. invariably false).
  18773.  
  18774.    Old-time hacker Joseph M. Newcomer advises that whenever choosing a
  18775.  quantifiable but arbitrary restriction, you should make it either a
  18776. power of 2 or a power of 2 minus 1.  If you impose a limit of    107
  18777. items in a list, everyone will know it is a random number -- on    the
  18778. other hand, a limit of 15 or 16 suggests some deep reason    (involving
  18779. 0- or 1-based indexing in binary) and you will get less    {flamage}
  18780. for it.  Limits which are round numbers in base 10 are    always
  18781. especially suspect.
  18782.  
  18783.    :retcon: /ret'kon/  [short for `retroactive continuity',    from the
  18784. Usenet newsgroup rec.arts.comics] 1. n. The common    situation in pulp
  18785. fiction (esp. comics or soap operas) where a    new story `reveals'
  18786. things about events in previous stories,    usually leaving the `facts'
  18787. the same (thus preserving    continuity) while completely changing
  18788. their interpretation.  For    example, revealing that a whole season of
  18789. "Dallas" was a    dream was a retcon.  2. vt. To write such a story
  18790. about a character    or fictitious object.  "Byrne has retconned
  18791. Superman's cape so    that it is no longer unbreakable."  "Marvelman's
  18792. old adventures    were retconned into synthetic dreams."  "Swamp Thing
  18793. was    retconned from a transformed person into a sentient vegetable."
  18794.   "Darth Vader was retconned into Luke Skywalker's father in    "The
  18795. Empire Strikes Back".
  18796.  
  18797.    [This term is included because it is a good example of hackish
  18798. linguistic innovation in a field completely unrelated to computers.
  18799. The word `retcon' will probably spread through comics fandom and
  18800. lose its association with hackerdom within a couple of years; for
  18801. the record, it started here. --ESR]
  18802.  
  18803.    [1993 update: some comics fans on the net now claim that retcon was
  18804.  independently in use in comics fandom before rec.arts.comics.     In
  18805. lexicography, nothing is ever simple. --ESR]
  18806.  
  18807.    :RETI: v.  Syn. {RTI}
  18808.  
  18809.    :retrocomputing: /ret'-roh-k*m-pyoo'ting/ n.  Refers to
  18810. emulations of way-behind-the-state-of-the-art hardware or software,
  18811. or implementations of never-was-state-of-the-art; esp. if such
  18812. implementations are elaborate practical jokes and/or parodies,
  18813. written mostly for {hack value}, of more `serious' designs.     Perhaps
  18814. the most widely distributed retrocomputing utility was the    `pnch(6)'
  18815. or `bcd(6)' program on V7 and other early Unix    versions, which would
  18816. accept up to 80 characters of text argument    and display the
  18817. corresponding pattern in {{punched card}} code.     Other well-known
  18818. retrocomputing hacks have included the programming    language
  18819. {INTERCAL}, a {JCL}-emulating shell for Unix, the
  18820. card-punch-emulating editor named 029, and various elaborate PDP-11
  18821. hardware emulators and RT-11 OS emulators written just to keep an
  18822. old, sourceless {Zork} binary running.
  18823.  
  18824.    A tasty selection of retrocomputing programs are made available at
  18825. the Retrocomputing Museum, `http://www.ccil.org/retro'.
  18826.  
  18827.    :return from the dead: v.  To regain access to the net after a
  18828. long absence.  Compare {person of no account}.
  18829.  
  18830.    :RFC: /R-F-C/ n.  [Request For Comment] One of a    long-established
  18831. series of numbered Internet informational    documents and standards
  18832. widely followed by commercial software and    freeware in the Internet
  18833. and Unix communities.  Perhaps the single    most influential one has
  18834. been RFC-822 (the Internet mail-format    standard).  The RFCs are
  18835. unusual in that they are floated by    technical experts acting on
  18836. their own initiative and reviewed by    the Internet at large, rather
  18837. than formally promulgated through an    institution such as ANSI.  For
  18838. this reason, they remain known as    RFCs even once adopted as
  18839. standards.
  18840.  
  18841.    The RFC tradition of pragmatic, experience-driven, after-the-fact
  18842. standard writing done by individuals or small working groups has
  18843. important advantages over the more formal, committee-driven process
  18844. typical of ANSI or ISO.  Emblematic of some of these advantages is
  18845. the existence of a flourishing tradition of `joke' RFCs; usually    at
  18846. least one a year is published, usually on April 1st.  Well-known
  18847. joke RFCs have included 527 ("ARPAWOCKY", R. Merryman, UCSD; 22    June
  18848. 1973), 748 ("Telnet Randomly-Lose Option", Mark R. Crispin;    1 April
  18849. 1978), and 1149 ("A Standard for the Transmission of IP    Datagrams on
  18850. Avian Carriers", D. Waitzman, BBN STC; 1 April    1990).  The first was
  18851. a Lewis Carroll pastiche; the second a parody    of the TCP-IP
  18852. documentation style, and the third a deadpan    skewering of
  18853. standards-document legalese, describing protocols for    transmitting
  18854. Internet data packets by carrier pigeon.
  18855.  
  18856.    The RFCs are most remarkable for how well they work -- they manage
  18857. to have neither the ambiguities that are usually rife in informal
  18858. specifications, nor the committee-perpetrated misfeatures that    often
  18859. haunt formal standards, and they define a network that has    grown to
  18860. truly worldwide proportions.
  18861.  
  18862.    :RFE: /R-F-E/ n.  1. [techspeak] Request For Enhancement    (compare
  18863. {RFC}).  2. [from `Radio Free Europe', Bellcore and    Sun] Radio Free
  18864. Ethernet, a system (originated by Peter Langston)    for broadcasting
  18865. audio among Sun SPARCstations over the ethernet.
  18866.  
  18867.    :rib site: n.  [by analogy with {backbone site}] A machine    that
  18868. has an on-demand high-speed link to a {backbone site} and    serves as
  18869. a regional distribution point for lots of third-party    traffic in
  18870. email and Usenet news.  Compare {leaf site},    {backbone site}.
  18871.  
  18872.    :rice box: n.  [from ham radio slang] Any Asian-made commodity
  18873. computer, esp. an 80x86-based machine built to IBM PC-compatible    ISA
  18874. or EISA-bus standards.
  18875.  
  18876.    :Right Thing: n.  That which is _compellingly_ the    correct or
  18877. appropriate thing to use, do, say, etc.  Often    capitalized, always
  18878. emphasized in speech as though capitalized.     Use of this term often
  18879. implies that in fact reasonable people may    disagree.  "What's the
  18880. right thing for LISP to do when it sees    `(mod a 0)'?  Should it
  18881. return `a', or give a divide-by-0    error?"  Oppose {Wrong Thing}.
  18882.  
  18883.    :rip: v.  1. To extract the digital representation of a    piece of
  18884. music from an audio CD. Software that does this is often    called a
  18885. "CD ripper".  2. [Amiga hackers] To extract sound or    graphics from a
  18886. program that they have been compiled/assembled    into, or which
  18887. generates them at run-time.  In the case of older    Amiga games this
  18888. entails searching through memory shortly after a    reboot. This sense
  18889. has been in use for many years and probably gave    rise to the (now
  18890. more common) sense 1.
  18891.  
  18892.    :ripoff: n.  Synonym for {chad}, sense 1.
  18893.  
  18894.    :RL: // n.  [MUD community] Real Life.  "Firiss laughs in    RL"
  18895. means that Firiss's player is laughing.  Oppose {VR}.
  18896.  
  18897.    :roach: vt.  [Bell Labs] To destroy, esp. of a data    structure.
  18898. Hardware gets {toast}ed or {fried}, software gets    roached.
  18899.  
  18900.    :robocanceller: /roh-boh-kan'sel-*r/  A program that    monitors
  18901. Usenet feeds, attempting to detect and elimnate {spam}    by sending
  18902. appropriate cancel messages .  Robocancellers may use    the {Breidbart
  18903. Index} as a trigger.  Programming them is not a    game for amateurs;
  18904. see {ARMM}. See also {Dave the    Resurrector}.
  18905.  
  18906.    :robot: n.  See {bot}.
  18907.  
  18908.    :robust: adj.  Said of a system that has demonstrated an    ability
  18909. to recover gracefully from the whole range of exceptional    inputs and
  18910. situations in a given environment.  One step below    {bulletproof}.
  18911. Carries the additional connotation of elegance    in addition to just
  18912. careful attention to detail.  Compare    {smart}, oppose {brittle}.
  18913.  
  18914.    :rococo: adj.  Terminally {baroque}.  Used to imply that a
  18915. program has become so encrusted with the software equivalent of    gold
  18916. leaf and curlicues that they have completely swamped the    underlying
  18917. design.  Called after the later and more extreme forms    of Baroque
  18918. architecture and decoration prevalent during the    mid-1700s in
  18919. Europe.  Alan Perlis said: "Every program eventually    becomes rococo,
  18920. and then rubble."  Compare {critical mass}.
  18921.  
  18922.    :rogue:  1. [Unix] n. A Dungeons-and-Dragons-like game    using
  18923. character graphics, written under BSD Unix and subsequently    ported
  18924. to other Unix systems.  The original BSD `curses(3)'    screen-handling
  18925. package was hacked together by Ken Arnold primarily    to support
  18926. games, and the development of `rogue(6)'    popularized its use; it has
  18927. since become one of Unix's most    important and heavily used
  18928. application libraries.  Nethack, Omega,    Larn, Angband, and an entire
  18929. subgenre of computer dungeon games all    took off from the inspiration
  18930. provided by `rogue(6)'; the    popular Windows game Diablo, though
  18931. graphics-intensive, has very    similar play logic.  See also
  18932. {nethack}.  2. [Usenet] adj.     An {ISP} which permits net abuse
  18933. (usually in the form of    {spam}ming) by its customers, or which
  18934. itself engages in such    activities.  Rogue ISPs are sometimes subject
  18935. to {IDP}s or    {UDP}s.  Sometimes deliberately mispelled as "rouge".
  18936.  
  18937.    :room-temperature IQ: quant.  [IBM] 80 or below (nominal room
  18938. temperature is 72 degrees Fahrenheit, 22 degrees Celsius).  Used in
  18939. describing the expected intelligence range of the {luser}.     "Well,
  18940. but how's this interface going to play with the    room-temperature IQ
  18941. crowd?"  See {drool-proof paper}.  This is    a much more insulting
  18942. phrase in countries that use Celsius    thermometers.
  18943.  
  18944.    :root: n.  [Unix] 1. The {superuser} account (with user    name
  18945. `root') that ignores permission bits, user number 0 on a    Unix
  18946. system.  The term {avatar} is also used.  2. The top node    of the
  18947. system directory structure; historically the home directory    of the
  18948. root user, but probably named after the root of an    (inverted) tree.
  18949. 3. By extension, the privileged    system-maintenance login on any OS.
  18950. See {root mode}, {go    root}, see also {wheel}.
  18951.  
  18952.    :root mode: n.  Syn. with {wizard mode} or `wheel mode'.     Like
  18953. these, it is often generalized to describe privileged states    in
  18954. systems other than OSes.
  18955.  
  18956.    :rot13: /rot ther'teen/ n.,v.  [Usenet: from `rotate    alphabet 13
  18957. places'] The simple Caesar-cypher encryption that    replaces each
  18958. English letter with the one 13 places forward or back    along the
  18959. alphabet, so that "The butler did it!" becomes "Gur    ohgyre qvq vg!"
  18960. Most Usenet news reading and posting programs    include a rot13
  18961. feature.  It is used to enclose the text in a    sealed wrapper that
  18962. the reader must choose to open -- e.g., for    posting things that
  18963. might offend some readers, or {spoiler}s.  A    major advantage of
  18964. rot13 over rot(N) for other N is    that it is self-inverse, so the
  18965. same code can be used for encoding    and decoding.
  18966.  
  18967.    :rotary debugger: n.  [Commodore] Essential equipment for    those
  18968. late-night or early-morning debugging sessions.  Mainly used    as
  18969. sustenance for the hacker.  Comes in many decorator colors, such    as
  18970. Sausage, Pepperoni, and Garbage.  See {ANSI standard pizza}.
  18971.  
  18972.    :round tape: n.  Industry-standard 1/2-inch magnetic tape (7-    or
  18973. 9-track) on traditional circular reels.  See {macrotape},    oppose
  18974. {square tape}.
  18975.  
  18976.    :RSN: /R-S-N/ adj.  See {Real Soon Now}.
  18977.  
  18978.    :RTBM: /R-T-B-M/ imp.  [Unix] Commonwealth Hackish variant    of
  18979. {RTFM}; expands to `Read The Bloody Manual'.  RTBM is often    the
  18980. entire text of the first reply to a question from a    {newbie}; the
  18981. _second_ would escalate to "RTFM".
  18982.  
  18983.    :RTFAQ: /R-T-F-A-Q/ imp.  [Usenet: primarily written, by    analogy
  18984. with {RTFM}] Abbrev. for `Read the FAQ!', an    exhortation that the
  18985. person addressed ought to read the newsgroup's    {FAQ list} before
  18986. posting questions.
  18987.  
  18988.    :RTFB: /R-T-F-B/ imp.  [Unix] Abbreviation for `Read The Fucking
  18989. Binary'.  Used when neither documentation nor source for the    problem
  18990. at hand exists, and the only thing to do is use some    debugger or
  18991. monitor and directly analyze the assembler or even the    machine code.
  18992. "No source for the buggy port driver?  Aaargh! I    _hate_ proprietary
  18993. operating systems.  Time to RTFB."
  18994.  
  18995.    Of the various RTF? forms, `RTFB' is the least pejorative against
  18996. anyone asking a question for which RTFB is the answer; the anger
  18997. here is directed at the absence of both source _and_ adequate
  18998. documentation.
  18999.  
  19000.    :RTFM: /R-T-F-M/ imp.  [Unix] Abbreviation for `Read The    Fucking
  19001. Manual'.  1. Used by {guru}s to brush off questions they    consider
  19002. trivial or annoying.  Compare {Don't do that then!}.     2. Used when
  19003. reporting a problem to indicate that you aren't just    asking out of
  19004. {randomness}.  "No, I can't figure out how to    interface Unix to my
  19005. toaster, and yes, I have RTFM."  Unlike    sense 1, this use is
  19006. considered polite.  See also {FM},    {RTFAQ}, {RTFB}, {RTFS}, {STFW},
  19007. {RTM}, all of which    mutated from RTFM, and compare {UTSL}.
  19008.  
  19009.    :RTFS: /R-T-F-S/  [Unix] 1. imp. Abbreviation for `Read The
  19010. Fucking Source'.  Variant form of {RTFM}, used when the problem    at
  19011. hand is not necessarily obvious and not answerable from the    manuals
  19012. -- or the manuals are not yet written and maybe never will    be.  For
  19013. even trickier situations, see {RTFB}.  Unlike RTFM, the    anger
  19014. inherent in RTFS is not usually directed at the person asking    the
  19015. question, but rather at the people who failed to provide    adequate
  19016. documentation.  2. imp. `Read The Fucking Standard'; this    oath can
  19017. only be used when the problem area (e.g., a language or    operating
  19018. system interface) has actually been codified in a    ratified standards
  19019. document.  The existence of these standards    documents (and the
  19020. technically inappropriate but politically    mandated compromises that
  19021. they inevitably contain, and the    impenetrable {legalese} in which
  19022. they are invariably written,    and the unbelievably tedious
  19023. bureaucratic process by which they are    produced) can be unnerving to
  19024. hackers, who are used to a certain    amount of ambiguity in the
  19025. specifications of the systems they use.     (Hackers feel that such
  19026. ambiguities are acceptable as long as the    {Right Thing} to do is
  19027. obvious to any thinking observer; sadly,    this casual attitude
  19028. towards specifications becomes unworkable when    a system becomes
  19029. popular in the {Real World}.)  Since a hacker    is likely to feel that
  19030. a standards document is both unnecessary and    technically deficient,
  19031. the deprecation inherent in this term may be    directed as much
  19032. against the standard as against the person who    ought to read it.
  19033.  
  19034.    :RTI: /R-T-I/ interj.  The mnemonic for the `return from
  19035. interrupt' instruction on many computers including the 6502 and
  19036. 6800.  The variant `RETI' is found among former Z80 hackers    (almost
  19037. nobody programs these things in assembler anymore).     Equivalent to
  19038. "Now, where was I?" or used to end a    conversational digression.  See
  19039. {pop}; see also {POPJ}.
  19040.  
  19041.    :RTM: /R-T-M/  [Usenet: abbreviation for `Read The Manual']    1.
  19042. Politer variant of {RTFM}.  2. Robert Tappan Morris,    perpetrator of
  19043. the great Internet worm of 1988 (see {Great    Worm}); villain to many,
  19044. naive hacker gone wrong to a few.  Morris    claimed that the worm that
  19045. brought the Internet to its knees was a    benign experiment that got
  19046. out of control as the result of a coding    error.  After the storm of
  19047. negative publicity that followed this    blunder, Morris's username on
  19048. ITS was hacked from RTM to    {RTFM}.
  19049.  
  19050.    :RTS: /R-T-S/ imp.  Abbreviation for `Read The Screen'.  Mainly
  19051. used by hackers in the microcomputer world.  Refers to what one
  19052. would like to tell the {suit} one is forced to explain an    extremely
  19053. simple application to.  Particularly appropriate when the    suit
  19054. failed to notice the `Press any key to continue' prompt, and    wishes
  19055. to know `why won't it do anything'.  Also seen as `RTFS' in
  19056. especially deserving cases.
  19057.  
  19058.    :rude: [WPI] adj.  1. (of a program) Badly written.     2.
  19059. Functionally poor, e.g., a program that is very difficult to use
  19060. because of gratuitously poor (random?) design decisions.  Oppose
  19061. {cuspy}.  3. Anything that manipulates a shared resource without
  19062. regard for its other users in such a way as to cause a (non-fatal)
  19063. problem.  Examples: programs that change tty modes without    resetting
  19064. them on exit, or windowing programs that keep forcing    themselves to
  19065. the top of the window stack.  Compare    {all-elbows}.
  19066.  
  19067.    :runes: pl.n.  1. Anything that requires {heavy wizardry}    or
  19068. {black art} to {parse}: core dumps, JCL commands, APL, or    code in a
  19069. language you haven't a clue how to read.  Not quite as    bad as {line
  19070. noise}, but close.  Compare {casting the runes},    {Great Runes}.  2.
  19071. Special display characters (for example, the    high-half graphics on
  19072. an IBM PC).  3. [borderline techspeak]    16-bit characters from the
  19073. Unicode multilingual character set.
  19074.  
  19075.    :runic: adj.  Syn. {obscure}.  VMS fans sometimes refer to    Unix
  19076. as `Runix'; Unix fans return the compliment by expanding VMS    to
  19077. `Very Messy Syntax' or `Vachement Mauvais Syste`me' (French    idiom,
  19078. "Hugely Bad System").
  19079.  
  19080.    :rusty iron: n.  Syn. {tired iron}.  It has been claimed    that
  19081. this is the inevitable fate of {water MIPS}.
  19082.  
  19083.    :rusty memory: n.  Mass-storage that uses iron-oxide-based
  19084. magnetic media (esp. tape and the pre-Winchester removable disk
  19085. packs used in {washing machine}s).  Compare {donuts}.
  19086.  
  19087.    :rusty wire: n.  [Amateur Packet Radio] Any very noisy network
  19088. medium, in which the packets are subject to frequent corruption.
  19089. Most prevalent in reference to wireless links subject to all the
  19090. vagaries of RF noise and marginal propagation conditions. "Yes,    but
  19091. how good is your whizbang new protocol on really rusty    wire?".
  19092.  
  19093. = S =
  19094. =====
  19095.  
  19096.    :S/N ratio: // n.  (also `s/n ratio', `s:n ratio').     Syn.
  19097. {signal-to-noise ratio}.  Often abbreviated `SNR'.
  19098.  
  19099.    :sacred: adj.  Reserved for the exclusive use of something (an
  19100. extension of the standard meaning).  Often means that anyone may
  19101. look at the sacred object, but clobbering it will screw whatever it
  19102. is sacred to.  The comment "Register 7 is sacred to the interrupt
  19103. handler" appearing in a program would be interpreted by a hacker    to
  19104. mean that if any _other_ part of the program changes the    contents of
  19105. register 7, dire consequences are likely to ensue.
  19106.  
  19107.    :saga: n.  [WPI] A cuspy but bogus raving story about N    random
  19108. broken people.
  19109.  
  19110.    Here is a classic example of the saga form, as told by Guy L.
  19111. Steele:
  19112.  
  19113.      Jon L. White (login name JONL) and I (GLS) were office mates at MIT
  19114.      for many years.  One April, we both flew from Boston to California
  19115.      for a week on research business, to consult face-to-face with some
  19116.      people at Stanford, particularly our mutual friend Richard P.
  19117.      Gabriel (RPG; see {gabriel}).
  19118.  
  19119.      RPG picked us up at the San Francisco airport and drove us back to
  19120.      Palo Alto (going {logical} south on route 101, parallel to {El
  19121.      Camino Bignum}).  Palo Alto is adjacent to Stanford University and
  19122.      about 40 miles south of San Francisco.  We ate at The Good Earth,
  19123.      a `health food' restaurant, very popular, the sort whose
  19124.      milkshakes all contain honey and protein powder.  JONL ordered
  19125.      such a shake -- the waitress claimed the flavor of the day was
  19126.      "lalaberry".  I still have no idea what that might be, but it
  19127.      became a running joke.  It was the color of raspberry, and JONL
  19128.      said it tasted rather bitter.  I ate a better tostada there than I
  19129.      have ever had in a Mexican restaurant.
  19130.  
  19131.      After this we went to the local Uncle Gaylord's Old Fashioned Ice
  19132.      Cream Parlor.  They make ice cream fresh daily, in a variety of
  19133.      intriguing flavors.  It's a chain, and they have a slogan: "If you
  19134.      don't live near an Uncle Gaylord's -- MOVE!"  Also, Uncle Gaylord
  19135.      (a real person) wages a constant battle to force big-name ice
  19136.      cream makers to print their ingredients on the package (like air
  19137.      and plastic and other non-natural garbage).  JONL and I had first
  19138.      discovered Uncle Gaylord's the previous August, when we had flown
  19139.      to a computer-science conference in Berkeley, California, the
  19140.      first time either of us had been on the West Coast.  When not in
  19141.      the conference sessions, we had spent our time wandering the length
  19142.      of Telegraph Avenue, which (like Harvard Square in Cambridge) was
  19143.      lined with picturesque street vendors and interesting little shops.
  19144.      On that street we discovered Uncle Gaylord's Berkeley store.  The
  19145.      ice cream there was very good.  During that August visit JONL went
  19146.      absolutely bananas (so to speak) over one particular flavor, ginger
  19147.      honey.
  19148.  
  19149.      Therefore, after eating at The Good Earth -- indeed, after every
  19150.      lunch and dinner and before bed during our April visit -- a trip
  19151.      to Uncle Gaylord's (the one in Palo Alto) was mandatory.  We had
  19152.      arrived on a Wednesday, and by Thursday evening we had been there
  19153.      at least four times.  Each time, JONL would get ginger honey ice
  19154.      cream, and proclaim to all bystanders that "Ginger was the spice
  19155.      that drove the Europeans mad!  That's why they sought a route to
  19156.      the East!  They used it to preserve their otherwise off-taste
  19157.      meat."  After the third or fourth repetition RPG and I were
  19158.      getting a little tired of this spiel, and began to paraphrase him:
  19159.      "Wow!  Ginger!  The spice that makes rotten meat taste good!"
  19160.      "Say!  Why don't we find some dog that's been run over and sat in
  19161.      the sun for a week and put some _ginger_ on it for dinner?!"
  19162.      "Right!  With a lalaberry shake!"  And so on.  This failed to faze
  19163.      JONL; he took it in good humor, as long as we kept returning to
  19164.      Uncle Gaylord's.  He loves ginger honey ice cream.
  19165.  
  19166.      Now RPG and his then-wife KBT (Kathy Tracy) were putting us up
  19167.      (putting up with us?) in their home for our visit, so to thank them
  19168.      JONL and I took them out to a nice French restaurant of their
  19169.      choosing.  I unadventurously chose the filet mignon, and KBT had
  19170.      je ne sais quoi du jour, but RPG and JONL had lapin (rabbit).
  19171.      (Waitress: "Oui, we have fresh rabbit, fresh today."  RPG: "Well,
  19172.      JONL, I guess we won't need any _ginger_!")
  19173.  
  19174.      We finished the meal late, about 11 P.M., which is 2 A.M Boston
  19175.      time, so JONL and I were rather droopy.  But it wasn't yet
  19176.      midnight.  Off to Uncle Gaylord's!
  19177.  
  19178.      Now the French restaurant was in Redwood City, north of Palo Alto.
  19179.      In leaving Redwood City, we somehow got onto route 101 going north
  19180.      instead of south.  JONL and I wouldn't have known the difference
  19181.      had RPG not mentioned it.  We still knew very little of the local
  19182.      geography.  I did figure out, however, that we were headed in the
  19183.      direction of Berkeley, and half-jokingly suggested that we continue
  19184.      north and go to Uncle Gaylord's in Berkeley.
  19185.  
  19186.      RPG said "Fine!" and we drove on for a while and talked.  I was
  19187.      drowsy, and JONL actually dropped off to sleep for 5 minutes.  When
  19188.      he awoke, RPG said, "Gee, JONL, you must have slept all the way
  19189.      over the bridge!", referring to the one spanning San Francisco
  19190.      Bay.  Just then we came to a sign that said "University Avenue".
  19191.      I mumbled something about working our way over to Telegraph Avenue;
  19192.      RPG said "Right!" and maneuvered some more.  Eventually we pulled
  19193.      up in front of an Uncle Gaylord's.
  19194.  
  19195.      Now, I hadn't really been paying attention because I was so sleepy,
  19196.      and I didn't really understand what was happening until RPG let me
  19197.      in on it a few moments later, but I was just alert enough to notice
  19198.      that we had somehow come to the Palo Alto Uncle Gaylord's after
  19199.      all.
  19200.  
  19201.      JONL noticed the resemblance to the Palo Alto store, but hadn't
  19202.      caught on.  (The place is lit with red and yellow lights at night,
  19203.      and looks much different from the way it does in daylight.)  He
  19204.      said, "This isn't the Uncle Gaylord's I went to in Berkeley!  It
  19205.      looked like a barn!  But this place looks _just like_ the one back
  19206.      in Palo Alto!"
  19207.  
  19208.      RPG deadpanned, "Well, this is the one _I_ always come to when I'm
  19209.      in Berkeley.  They've got two in San Francisco, too.  Remember,
  19210.      they're a chain."
  19211.  
  19212.      JONL accepted this bit of wisdom.  And he was not totally ignorant
  19213.      -- he knew perfectly well that University Avenue was in Berkeley,
  19214.      not far from Telegraph Avenue.  What he didn't know was that there
  19215.      is a completely different University Avenue in Palo Alto.
  19216.  
  19217.      JONL went up to the counter and asked for ginger honey.  The guy at
  19218.      the counter asked whether JONL would like to taste it first,
  19219.      evidently their standard procedure with that flavor, as not too
  19220.      many people like it.
  19221.  
  19222.      JONL said, "I'm sure I like it.  Just give me a cone."  The guy
  19223.      behind the counter insisted that JONL try just a taste first.
  19224.      "Some people think it tastes like soap."  JONL insisted, "Look, I
  19225.      _love_ ginger.  I eat Chinese food.  I eat raw ginger roots.  I
  19226.      already went through this hassle with the guy back in Palo Alto.
  19227.      I _know_ I like that flavor!"
  19228.  
  19229.      At the words "back in Palo Alto" the guy behind the counter got a
  19230.      very strange look on his face, but said nothing.  KBT caught his
  19231.      eye and winked.  Through my stupor I still hadn't quite grasped
  19232.      what was going on, and thought RPG was rolling on the floor
  19233.      laughing and clutching his stomach just because JONL had launched
  19234.      into his spiel ("makes rotten meat a dish for princes") for the
  19235.      forty-third time.  At this point, RPG clued me in fully.
  19236.  
  19237.      RPG, KBT, and I retreated to a table, trying to stifle our
  19238.      chuckles.  JONL remained at the counter, talking about ice cream
  19239.      with the guy b.t.c., comparing Uncle Gaylord's to other ice cream
  19240.      shops and generally having a good old time.
  19241.  
  19242.      At length the g.b.t.c. said, "How's the ginger honey?"  JONL said,
  19243.      "Fine!  I wonder what exactly is in it?"  Now Uncle Gaylord
  19244.      publishes all his recipes and even teaches classes on how to make
  19245.      his ice cream at home.  So the g.b.t.c. got out the recipe, and he
  19246.      and JONL pored over it for a while.  But the g.b.t.c. could
  19247.      contain his curiosity no longer, and asked again, "You really like
  19248.      that stuff, huh?"  JONL said, "Yeah, I've been eating it
  19249.      constantly back in Palo Alto for the past two days.  In fact, I
  19250.      think this batch is about as good as the cones I got back in Palo
  19251.      Alto!"
  19252.  
  19253.      G.b.t.c. looked him straight in the eye and said, "You're _in_
  19254.      Palo Alto!"
  19255.  
  19256.      JONL turned slowly around, and saw the three of us collapse in a
  19257.      fit of giggles.  He clapped a hand to his forehead and exclaimed,
  19258.      "I've been hacked!"
  19259.  
  19260.    [My spies on the West Coast inform me that there is a close
  19261. relative of the raspberry found out there called an `ollalieberry'
  19262. --ESR]
  19263.  
  19264.    [Ironic footnote: it appears that the {meme} about ginger vs.
  19265. rotting meat may be an urban legend.  It's not borne out by an
  19266. examination of medieval recipes or period purchase records for
  19267. spices, and appears full-blown in the works of Samuel Pegge, a
  19268. gourmand and notorious flake case who originated numerous food
  19269. myths. --ESR]
  19270.  
  19271.    :sagan: /say'gn/ n.  [from Carl Sagan's TV series    "Cosmos"; think
  19272. "billions and billions"] A large quantity    of anything.  "There's a
  19273. sagan different ways to tweak EMACS."     "The U.S. Government spends
  19274. sagans on bombs and welfare -- hard    to say which is more
  19275. destructive."
  19276.  
  19277.    :SAIL:: /sayl/, not /S-A-I-L/ n.  1. The Stanford    Artificial
  19278. Intelligence Lab.  An important site in the early    development of
  19279. LISP; with the MIT AI Lab, BBN, CMU, XEROX PARC, and    the Unix
  19280. community, one of the major wellsprings of technical    innovation and
  19281. hacker-culture traditions (see the {{WAITS}} entry    for details).
  19282. The SAIL machines were shut down in late May 1990,    scant weeks after
  19283. the MIT AI Lab's ITS cluster was officially    decommissioned.  2. The
  19284. Stanford Artificial Intelligence Language    used at SAIL (sense 1).
  19285. It was an Algol-60 derivative with a    coroutining facility and some
  19286. new data types intended for building    search trees and association
  19287. lists.
  19288.  
  19289.    :salescritter: /sayls'kri`tr/ n.  Pejorative hackerism for a
  19290. computer salesperson.  Hackers tell the following joke:
  19291.  
  19292.      Q. What's the difference between a used-car dealer and a
  19293.         computer salesman?
  19294.      A. The used-car dealer knows he's lying.  [Some versions add:
  19295.         ...and probably knows how to drive.]
  19296.  
  19297. This reflects the widespread hacker belief that salescritters are
  19298. self-selected for stupidity (after all, if they had brains and the
  19299. inclination to use them, they'd be in programming).  The terms
  19300. `salesthing' and `salesdroid' are also common.  Compare
  19301. {marketroid}, {suit}, {droid}.
  19302.  
  19303.    :salt: n.  A tiny bit of near-random data inserted where too    much
  19304. regularity would be undesirable; a data {frob} (sense 1).     For
  19305. example, the Unix crypt(3) man page mentions that "the salt    string
  19306. is used to perturb the DES algorithm in one of 4096    different ways."
  19307.  
  19308.    :salt mines: n.  Dense quarters housing large numbers of
  19309. programmers working long hours on grungy projects, with some hope    of
  19310. seeing the end of the tunnel in N years.  Noted for their    absence of
  19311. sunshine.  Compare {playpen}, {sandbox}.
  19312.  
  19313.    :salt substrate: n.  [MIT] Collective noun used to refer to
  19314. potato chips, pretzels, saltines, or any other form of snack food
  19315. designed primarily as a carrier for sodium chloride.  Also    `sodium
  19316. substrate'. From the technical term `chip substrate',    used to refer
  19317. to the silicon on the top of which the active parts    of integrated
  19318. circuits are deposited.
  19319.  
  19320.    :same-day service: n.  Ironic term used to describe long    response
  19321. time, particularly with respect to {{MS-DOS}} system    calls (which
  19322. ought to require only a tiny fraction of a second to    execute).  Such
  19323. response time is a major incentive for programmers    to write programs
  19324. that are not {well-behaved}.  See also    {PC-ism}.
  19325.  
  19326.    :samizdat: /sahm-iz-daht/ n.  [Russian, literally "self
  19327. publishing"] The process of disseminating documentation via
  19328. underground channels.  Originally referred to underground
  19329. duplication and distribution of banned books in the Soviet Union;
  19330. now refers by obvious extension to any less-than-official
  19331. promulgation of textual material, esp. rare, obsolete, or
  19332. never-formally-published computer documentation.  Samizdat is
  19333. obviously much easier when one has access to high-bandwidth    networks
  19334. and high-quality laser printers.  Note that samizdat is    properly
  19335. used only with respect to documents which contain needed    information
  19336. (see also {hacker ethic}) but which are for    some reason otherwise
  19337. unavailable, but _not_ in the context of    documents which are
  19338. available through normal channels, for which    unauthorized
  19339. duplication would be unethical copyright violation.     See {Lions
  19340. Book} for a historical example.
  19341.  
  19342.    :samurai: n.  A hacker who hires out for legal cracking jobs,
  19343. snooping for factions in corporate political fights, lawyers
  19344. pursuing privacy-rights and First Amendment cases, and other    parties
  19345. with legitimate reasons to need an electronic locksmith.     In 1991,
  19346. mainstream media reported the existence of a loose-knit    culture of
  19347. samurai that meets electronically on BBS systems, mostly    bright
  19348. teenagers with personal micros; they have modeled themselves
  19349. explicitly on the historical samurai of Japan and on the "net
  19350. cowboys" of William Gibson's {cyberpunk} novels.  Those    interviewed
  19351. claim to adhere to a rigid ethic of loyalty to their    employers and
  19352. to disdain the vandalism and theft practiced by    criminal crackers as
  19353. beneath them and contrary to the hacker ethic;    some quote Miyamoto
  19354. Musashi's "Book of Five Rings", a classic    of historical samurai
  19355. doctrine, in support of these principles.     See also {sneaker},
  19356. {Stupids}, {social engineering},    {cracker}, {hacker ethic}, and
  19357. {dark-side hacker}.
  19358.  
  19359.    :sandbender: n.  [IBM] A person involved with silicon lithography and
  19360.   the physical design of chips.  Compare {ironmonger}, {polygon
  19361. pusher}.
  19362.  
  19363.    :sandbox: n.  1. (also `sandbox, the') Common term for the R&D
  19364. department at many software and computer companies (where hackers    in
  19365. commercial environments are likely to be found).  Half-derisive,    but
  19366. reflects the truth that research is a form of creative play.
  19367. Compare {playpen}.  2. Syn. {link farm}.
  19368.  
  19369.    :sanity check: n.  [very common] 1. The act of checking a    piece
  19370. of code (or anything else, e.g., a Usenet posting) for    completely
  19371. stupid mistakes.  Implies that the check is to make sure    the author
  19372. was sane when it was written; e.g., if a piece of    scientific
  19373. software relied on a particular formula and was giving    unexpected
  19374. results, one might first look at the nesting of    parentheses or the
  19375. coding of the formula, as a `sanity check',    before looking at the
  19376. more complex I/O or data structure    manipulation routines, much less
  19377. the algorithm itself.  Compare    {reality check}.  2. A run-time test,
  19378. either validating input or    ensuring that the program hasn't screwed
  19379. up internally (producing    an inconsistent value or state).
  19380.  
  19381.    :Saturday-night special: n.  [from police slang for a cheap
  19382. handgun] A {quick-and-dirty} program or feature kluged together
  19383. during off hours, under a deadline, and in response to pressure    from
  19384. a {salescritter}.  Such hacks are dangerously unreliable,    but all
  19385. too often sneak into a production release after    insufficient review.
  19386.  
  19387.    :say: vt.  1. To type to a terminal.  "To list a directory
  19388. verbosely, you have to say `ls -l'."  Tends to imply a
  19389. {newline}-terminated command (a `sentence').  2. A computer    may also
  19390. be said to `say' things to you, even if it doesn't have    a speech
  19391. synthesizer, by displaying them on a terminal in response    to your
  19392. commands.  Hackers find it odd that this usage confuses    {mundane}s.
  19393.  
  19394.    :scag: vt.  To destroy the data on a disk, either by    corrupting
  19395. the   filesystem or by causing media damage.  "That last power hit
  19396. scagged   the system disk."  Compare {scrog}, {roach}.
  19397.  
  19398.    :scanno: /skan'oh/ n.  An error in a document caused by a    scanner
  19399. glitch, analogous to a typo or {thinko}.
  19400.  
  19401.    :scary devil monastery:  n.  Anagram frequently used to    refer to
  19402. the newsgroup alt.sysadmin.recovery, which is    populated with
  19403. characters that rather justify the reference.
  19404.  
  19405.    :schroedinbug: /shroh'din-buhg/ n.  [MIT: from the    Schroedinger's
  19406. Cat thought-experiment in quantum physics] A design    or
  19407. implementation bug in a program that doesn't manifest until    someone
  19408. reading source or using the program in an unusual way    notices that
  19409. it never should have worked, at which point the    program promptly
  19410. stops working for everybody until fixed.  Though    (like {bit rot})
  19411. this sounds impossible, it happens; some    programs have harbored
  19412. latent schroedinbugs for years.  Compare    {heisenbug}, {Bohr bug},
  19413. {mandelbug}.
  19414.  
  19415.    :science-fiction fandom:: n.  Another voluntary subculture    having
  19416. a very heavy overlap with hackerdom; most hackers read SF    and/or
  19417. fantasy fiction avidly, and many go to `cons' (SF    conventions) or
  19418. are involved in fandom-connected activities such as    the Society for
  19419. Creative Anachronism.  Some hacker jargon    originated in SF fandom;
  19420. see {defenestration}, {great-wall},    {cyberpunk}, {h}, {ha ha only
  19421. serious}, {IMHO},    {mundane}, {neep-neep}, {Real Soon Now}.
  19422. Additionally,    the jargon terms {cowboy}, {cyberspace}, {de-rezz}, {go
  19423.   flatline}, {ice}, {phage}, {virus}, {wetware},    {wirehead}, and
  19424. {worm} originated in SF stories.
  19425.  
  19426.    :scram switch: n.  [from the nuclear power industry] An
  19427. emergency-power-off switch (see {Big Red Switch}), esp. one
  19428. positioned to be easily hit by evacuating personnel.  In general,
  19429. this is _not_ something you {frob} lightly; these often    initiate
  19430. expensive events (such as Halon dumps) and are installed    in a
  19431. {dinosaur pen} for use in case of electrical fire or in    case some
  19432. luckless {field servoid} should put 120 volts across    himself while
  19433. {Easter egging}.  (See also {molly-guard},    {TMRC}.)
  19434.  
  19435.    A correspondent reports a legend that "Scram" is an acronym for
  19436. "Start Cutting Right Away, Man" (another less plausible variant    of
  19437. this legend refers to "Safety Controil Rod Axe Man"; these are
  19438. almost certainly both {backronym}s).  The story goes that in the
  19439. earliest nuclear power experiments the engineers recognized the
  19440. possibility that the reactor wouldn't behave exactly as predicted    by
  19441. their mathematical models.  Accordingly, they made sure that    they
  19442. had mechanisms in place that would rapidly drop the control    rods
  19443. back into the reactor.  One mechanism took the form of `scram
  19444. technicians'.  These individuals stood next to the cables that
  19445. raised and lowered the control rods.  Equipped with cable-cutters, these
  19446.   technicians stood ready for the (literal) `scram' command.  If
  19447. necessary, they would cut the cables, and gravity would
  19448. expeditiously return the control rods to the reactor, thereby
  19449. averting yet another kind of {core dump}.
  19450.  
  19451.    :scratch:  1. [from `scratchpad'] adj. Describes a data    structure
  19452. or recording medium attached to a machine for testing or
  19453. temporary-use purposes; one that can be {scribble}d on without    loss.
  19454. Usually in the combining forms `scratch memory',    `scratch
  19455. register', `scratch disk', `scratch tape',    `scratch volume'.  See
  19456. also {scratch monkey}.  2. [primarily    IBM] vt. To delete (as in a
  19457. file).
  19458.  
  19459.    :scratch monkey: n.  As in "Before testing or reconfiguring,
  19460. always mount a {scratch monkey}", a proverb used to advise    caution
  19461. when dealing with irreplaceable data or devices.  Used to    refer to
  19462. any scratch volume hooked to a computer during any risky    operation
  19463. as a replacement for some precious resource or data that    might
  19464. otherwise get trashed.
  19465.  
  19466.    This term preserves the memory of Mabel, the Swimming Wonder
  19467. Monkey, star of a biological research program at the University of
  19468. Toronto.  Mabel was not (so the legend goes) your ordinary monkey;
  19469. the university had spent years teaching her how to swim, breathing
  19470. through a regulator, in order to study the effects of different gas
  19471. mixtures on her physiology.  Mabel suffered an untimely demise one
  19472. day when a {DEC} {field circus} engineer troubleshooting a    crash on
  19473. the program's VAX inadvertently interfered with some    custom hardware
  19474. that was wired to Mabel.
  19475.  
  19476.    It is reported that, after calming down an understandably irate
  19477. customer sufficiently to ascertain the facts of the matter, a DEC
  19478. troubleshooter called up the {field circus} manager responsible    and
  19479. asked him sweetly, "Can you swim?"
  19480.  
  19481.    Not all the consequences to humans were so amusing; the sysop of
  19482. the machine in question was nearly thrown in jail at the behest of
  19483. certain clueless {droid}s at the local `humane' society.  The moral
  19484. is clear: When in doubt, always mount a scratch monkey.
  19485.  
  19486.    [The actual incident occured in 1979 or 1980. There is a version of
  19487.  this story, complete with reported dialogue between one of the
  19488. project people and DEC field service, that has been circulating on
  19489. Internet since 1986.  It is hilarious and mythic, but gets some
  19490. facts wrong.  For example, it reports the machine as a PDP-11 and
  19491. alleges that Mabel's demise occurred when DEC {PM}ed the    machine.
  19492. Earlier versions of this entry were based on that story;    this one
  19493. has been corrected from an interview with the hapless    sysop. --ESR]
  19494.  
  19495.    :scream and die: v.  Syn. {cough and die}, but connotes    that an
  19496. error message was printed or displayed before the program    crashed.
  19497.  
  19498.    :screaming tty: n.  [Unix] A terminal line which spews an infinite
  19499. number of random characters at the operating system.  This can
  19500. happen if the terminal is either disconnected or connected to a
  19501. powered-off terminal but still enabled for login; misconfiguration,
  19502. misimplementation, or simple bad luck can start such a terminal
  19503. screaming.  A screaming tty or two can seriously degrade the
  19504. performance of a vanilla Unix system; the arriving "characters"    are
  19505. treated as userid/password pairs and tested as such.  The Unix
  19506. password encryption algorithm is designed to be computationally
  19507. intensive in order to foil brute-force crack attacks, so although
  19508. none of the logins succeeds; the overhead of rejecting them all can
  19509. be substantial.
  19510.  
  19511.    :screen: n.  [Atari ST {demoscene}] One {demoeffect}    or one
  19512. screenful of them.  Probably comes from old Sierra-style    adventures
  19513. or shoot-em-ups where one travels from one place to    another one
  19514. screenful at a time.
  19515.  
  19516.    :screen name: n.  A {handle} sense 1.  This term has    been common
  19517. among users of IRC, MUDs, and commercial on-line    services since the
  19518. mid-1990s. Hackers recognize the term but    don't generally use it.
  19519.  
  19520.    :screw: n.  [MIT] A {lose}, usually in software.     Especially used
  19521. for user-visible misbehavior caused by a bug or    misfeature.  This
  19522. use has become quite widespread outside MIT.
  19523.  
  19524.    :screwage: /skroo'*j/ n.  Like {lossage} but connotes    that the
  19525. failure is due to a designed-in misfeature rather than a    simple
  19526. inadequacy or a mere bug.
  19527.  
  19528.    :scribble: n.  To modify a data structure in a random and
  19529. unintentionally destructive way.  "Bletch! Somebody's    disk-compactor
  19530. program went berserk and scribbled on the i-node    table."  "It was
  19531. working fine until one of the allocation    routines scribbled on low
  19532. core."  Synonymous with {trash};    compare {mung}, which conveys a bit
  19533. more intention, and    {mangle}, which is more violent and final.
  19534.  
  19535.    :script kiddies: pl.n.  The lowest form of {cracker};    script
  19536. kiddies do mischief with scripts and programs written by    others,
  19537. often without understanding the {exploit}.
  19538.  
  19539.    :scrog: /skrog/ vt.  [Bell Labs] To damage, trash, or    corrupt a
  19540. data structure.  "The list header got scrogged."  Also    reported as
  19541. `skrog', and ascribed to the comic strip "The    Wizard of Id".
  19542. Compare {scag}; possibly the two are related.     Equivalent to
  19543. {scribble} or {mangle}.
  19544.  
  19545.    :scrool: /skrool/ n.  [from the pioneering Roundtable chat    system
  19546. in Houston ca. 1984; prob. originated as a typo for    `scroll'] The
  19547. log of old messages, available for later perusal or    to help one get
  19548. back in synch with the conversation.  It was    originally called the
  19549. `scrool monster', because an early version    of the roundtable
  19550. software had a bug where it would dump all 8K of    scrool on a user's
  19551. terminal.
  19552.  
  19553.    :scrozzle: /skroz'l/ vt.  Used when a self-modifying code    segment
  19554. runs incorrectly and corrupts the running program or vital    data.
  19555. "The damn compiler scrozzled itself again!"
  19556.  
  19557.    :scruffies: n.  See {neats vs. scruffies}.
  19558.  
  19559.    :SCSI: n.  [Small Computer System Interface] A bus-independent
  19560. standard for system-level interfacing between a computer and
  19561. intelligent devices.  Typically annotated in literature with    `sexy'
  19562. (/sek'see/), `sissy' (/sis'ee/), and `scuzzy'    (/skuh'zee/) as
  19563. pronunciation guides -- the last being the    overwhelmingly
  19564. predominant form, much to the dismay of the    designers and their
  19565. marketing people.  One can usually assume that    a person who
  19566. pronounces it /S-C-S-I/ is clueless.
  19567.  
  19568.    :ScumOS: /skuhm'os/ or /skuhm'O-S/ n.  Unflattering    hackerism for
  19569. SunOS, the BSD Unix variant supported on Sun    Microsystems's Unix
  19570. workstations (see also {sun-stools}), and    compare {AIDX},
  19571. {Macintrash}, {Nominal Semidestructor},    {HP-SUX}.  Despite what this
  19572. term might suggest, Sun was    founded by hackers and still enjoys
  19573. excellent relations with    hackerdom; usage is more often in
  19574. exasperation than outright    loathing.
  19575.  
  19576.    :search-and-destroy mode: n.  Hackerism for a noninteractive
  19577. search-and-replace facility in an editor, so called because an
  19578. incautiously chosen match pattern can cause {infinite} damage.
  19579.  
  19580.    :second-system effect: n.  (sometimes, more euphoniously,
  19581. `second-system syndrome') When one is designing the successor to    a
  19582. relatively small, elegant, and successful system, there is a
  19583. tendency to become grandiose in one's success and design an
  19584. {elephantine} feature-laden monstrosity.  The term was first    used by
  19585. Fred Brooks in his classic "The Mythical Man-Month:    Essays on
  19586. Software Engineering" (Addison-Wesley, 1975; ISBN    0-201-00650-2).
  19587. It described the jump from a set of nice, simple    operating systems
  19588. on the IBM 70xx series to OS/360 on the 360    series.  A similar
  19589. effect can also happen in an evolving system;    see {Brooks's Law},
  19590. {creeping elegance}, {creeping    featurism}.  See also {{Multics}},
  19591. {OS/2}, {X}, {software    bloat}.
  19592.  
  19593.    This version of the jargon lexicon has been described (with
  19594. altogether too much truth for comfort) as an example of
  19595. second-system effect run amok on jargon-1....
  19596.  
  19597.    :secondary damage: n.  When a fatal error occurs (esp. a
  19598. {segfault}) the immediate cause may be that a pointer has been
  19599. trashed due to a previous {fandango on core}.  However, this
  19600. fandango may have been due to an _earlier_ fandango, so no    amount of
  19601. analysis will reveal (directly) how the damage occurred.     "The data
  19602. structure was clobbered, but it was secondary    damage."
  19603.  
  19604.    By extension, the corruption resulting from N cascaded    fandangoes
  19605. on core is `Nth-level damage'.  There is at least    one case on record
  19606. in which 17 hours of {grovel}ling with    `adb' actually dug up the
  19607. underlying bug behind an instance of    seventh-level damage!  The
  19608. hacker who accomplished this    near-superhuman feat was presented with
  19609. an award by his fellows.
  19610.  
  19611.    :security through obscurity:  (alt. `security by obscurity')    A
  19612. term applied by hackers to most OS vendors' favorite way of    coping
  19613. with security holes -- namely, ignoring them, documenting    neither
  19614. any known holes nor the underlying security algorithms,    trusting
  19615. that nobody will find out about them and that people who    do find out
  19616. about them won't exploit them.  This "strategy" never    works for long
  19617. and occasionally sets the world up for debacles like    the {RTM} worm
  19618. of 1988 (see {Great Worm}), but once the    brief moments of panic
  19619. created by such events subside most vendors    are all too willing to
  19620. turn over and go back to sleep.  After all,    actually fixing the bugs
  19621. would siphon off the resources needed to    implement the next
  19622. user-interface frill on marketing's wish list    -- and besides, if
  19623. they started fixing security bugs customers    might begin to _expect_
  19624. it and imagine that their warranties    of merchantability gave them
  19625. some sort of _right_ to a system    with fewer holes in it than a
  19626. shotgunned Swiss cheese, and    _then_ where would we be?
  19627.  
  19628.    Historical note: There are conflicting stories about the origin of
  19629. this term.  It has been claimed that it was first used in the
  19630. Usenet newsgroup in comp.sys.apollo during a campaign to get
  19631. HP/Apollo to fix security problems in its Unix-{clone}
  19632. Aegis/DomainOS (they didn't change a thing).  {ITS} fans, on the
  19633. other hand, say it was coined years earlier in opposition to the
  19634. incredibly paranoid {Multics} people down the hall, for whom
  19635. security was everything.  In the ITS culture it referred to (1) the
  19636. fact that by the time a tourist figured out how to make    trouble he'd
  19637. generally gotten over the urge to make it, because he    felt part of
  19638. the community; and (2) (self-mockingly) the poor    coverage of the
  19639. documentation and obscurity of many commands.  One    instance of
  19640. _deliberate_ security through obscurity is    recorded; the command to
  19641. allow patching the running ITS system    (escape escape control-R)
  19642. echoed as $$^D.  If you actually    typed alt alt ^D, that set a flag
  19643. that would prevent patching the    system even if you later got it
  19644. right.
  19645.  
  19646.    :SED: /S-E-D/ n.  [TMRC, from `Light-Emitting Diode']
  19647. Smoke-emitting diode.  A {friode} that lost the war.  See also
  19648. {LER}.
  19649.  
  19650.    :segfault: n.,vi.  Syn. {segment}, {segmentation fault}.
  19651.  
  19652.    :seggie: /seg'ee/ n.   [Unix] Shorthand for    {segmentation fault}
  19653. reported from Britain.
  19654.  
  19655.    :segment: /seg'ment/ vi.  To experience a {segmentation    fault}.
  19656. Confusingly, this is often pronounced more like the noun    `segment'
  19657. than like mainstream v. segment; this is because it is    actually a
  19658. noun shorthand that has been verbed.
  19659.  
  19660.    :segmentation fault: n.  [Unix] 1. [techspeak] An error in    which
  19661. a running program attempts to access memory not allocated to    it and
  19662. {core dump}s with a segmentation violation error.  This    is often
  19663. caused by improper usage of pointers in the source code,
  19664. dereferencing a null pointer, or (in C) inadvertently using a
  19665. non-pointer variable as a pointer.  The classic example is:
  19666.  
  19667.         int i;
  19668.         scanf ("%d", i);  /* should have used &i */
  19669.  
  19670. 2. To lose a train of thought or a line of reasoning.  Also uttered
  19671. as an exclamation at the point of befuddlement.
  19672.  
  19673.    :segv: /seg'vee/ n.,vi.  Yet another synonym for    {segmentation
  19674. fault} (actually, in this case, `segmentation    violation').
  19675.  
  19676.    :self-reference: n.  See {self-reference}.
  19677.  
  19678.    :selvage: /sel'v*j/ n.  [from sewing and weaving] See    {chad}
  19679. (sense 1).
  19680.  
  19681.    :semi: /se'mee/ or /se'mi:/  1. n. Abbreviation for    `semicolon',
  19682. when speaking.  "Commands to {grind} are    prefixed by semi-semi-star"
  19683. means that the prefix is `;;*',    not 1/4 of a star.  2. A prefix used
  19684. with words such as    `immediately' as a qualifier.  "When is the
  19685. system coming up?"     "Semi-immediately."  (That is, maybe not for an
  19686. hour.)  "We did    consider that possibility semi-seriously."  See also
  19687.   {infinite}.
  19688.  
  19689.    :semi-automated: adj.  [US Geological Survey] A procedure    that
  19690. has yet to be completely automated; it still requires a smidge    of
  19691. clueful human interaction.  Semi-automated programs usually come
  19692. with written-out operator instructions that are worth their weight
  19693. in gold - without them, very nasty things can happen.     At USGS
  19694. semi-automated programs are often referred to as "semi-automated
  19695. weapons".
  19696.  
  19697.    :semi-infinite: n.  See {infinite}.
  19698.  
  19699.    :senior bit: n.  [IBM; rare] Syn. {meta bit}.
  19700.  
  19701.    :September that never ended:  All time since September 1993.     One
  19702. of the seasonal rhythms of the Usenet used to be the annual
  19703. September influx of clueless newbies who, lacking any sense of
  19704. {netiquette}, made a general nuisance of themselves. This    coincided
  19705. with people starting college, getting their first    internet accounts,
  19706. and plunging in without bothering to learn what    was acceptable.
  19707. These relatively small drafts of newbies could be    assimilated within
  19708. a few months.  But in September 1993, AOL users    became able to post
  19709. to Usenet, nearly overwhelming the old-timers'    capacity to
  19710. acculturate them; to those who nostalgically recall the    period
  19711. before hand, this triggered an inexorable decline in the    quality of
  19712. discussions on newsgroups.  See also {AOL!}.
  19713.  
  19714.    :server: n.  A kind of {daemon} that performs a service for    the
  19715. requester and which often runs on a computer other than the one    on
  19716. which the server runs.  A particularly common term on the    Internet,
  19717. which is rife with `web servers', `name servers',    `domain servers',
  19718. `news servers', `finger servers', and the    like.
  19719.  
  19720.    :SEX: /seks/  [Sun Users' Group & elsewhere] n. 1. Software
  19721. EXchange.  A technique invented by the blue-green algae hundreds of
  19722. millions of years ago to speed up their evolution, which had been
  19723. terribly slow up until then.  Today, SEX parties are popular among
  19724. hackers and others (of course, these are no longer limited to
  19725. exchanges of genetic software).  In general, SEX parties are a    {Good
  19726. Thing}, but unprotected SEX can propagate a {virus}.     See also
  19727. {pubic directory}.  2. The rather Freudian mnemonic    often used for
  19728. Sign EXtend, a machine instruction found in the    PDP-11 and many
  19729. other architectures.  The RCA 1802 chip used in the    early Elf and
  19730. SuperElf personal computers had a `SEt X register'    SEX instruction,
  19731. but this seems to have had little folkloric    impact.
  19732.  
  19733.    {DEC}'s engineers nearly got a PDP-11 assembler that used the
  19734. `SEX' mnemonic out the door at one time, but (for once)    marketing
  19735. wasn't asleep and forced a change.  That wasn't the last    time this
  19736. happened, either.  The author of "The Intel 8086    Primer", who was
  19737. one of the original designers of the 8086, noted    that there was
  19738. originally a `SEX' instruction on that    processor, too.  He says that
  19739. Intel management got cold feet and    decreed that it be changed, and
  19740. thus the instruction was renamed    `CBW' and `CWD' (depending on what
  19741. was being extended).     Amusingly, the Intel 8048 (the microcontroller
  19742. used in IBM PC    keyboards) is also missing straight `SEX' but has
  19743. logical-or    and logical-and instructions `ORL' and `ANL'.
  19744.  
  19745.    The Motorola 6809, used in the Radio Shack Color Computer and in
  19746. U.K.'s `Dragon 32' personal computer, actually had an official    `SEX'
  19747. instruction; the 6502 in the Apple II with which it    competed did
  19748. not.  British hackers thought this made perfect mythic    sense; after
  19749. all, it was commonly observed, you could (on some    theoretical level)
  19750. have sex with a dragon, but you can't have sex    with an apple.
  19751.  
  19752.    :sex changer: n.  Syn. {gender mender}.
  19753.  
  19754.    :shambolic link: /sham-bol'ik link/ n.  A Unix symbolic    link,
  19755. particularly when it confuses you, points to nothing at all,    or
  19756. results in your ending up in some completely unexpected part of    the
  19757. filesystem....
  19758.  
  19759.    :shar file: /shar' fi:l/ n.  Syn. {sharchive}.
  19760.  
  19761.    :sharchive: /shar'ki:v/ n.  [Unix and Usenet; from /bin/sh
  19762. archive] A {flatten}ed representation of a set of one or more    files,
  19763. with the unique property that it can be unflattened (the    original
  19764. files restored) by feeding it through a standard Unix    shell; thus, a
  19765. sharchive can be distributed to anyone running Unix,    and no special
  19766. unpacking software is required.  Sharchives are also    intriguing in
  19767. that they are typically created by shell scripts; the    script that
  19768. produces sharchives is thus a script which produces    self-unpacking
  19769. scripts, which may themselves contain scripts.  (The    downsides of
  19770. sharchives are that they are an ideal venue for    {Trojan horse}
  19771. attacks and that, for recipients not running    Unix, no simple
  19772. un-sharchiving program is possible; sharchives can    and do make use
  19773. of arbitrarily-powerful shell features.)     Sharchives are also
  19774. commonly referred to as `shar files' after the    name of the most
  19775. common program for generating them.
  19776.  
  19777.    :Share and enjoy!: imp.  1. Commonly found at the end of    software
  19778. release announcements and {README file}s, this phrase    indicates
  19779. allegiance to the hacker ethic of free information    sharing (see
  19780. {hacker ethic}, sense 1).  2. The motto of the    complaints division
  19781. of Sirius Cybernetics Corporation (the ultimate    gaggle of
  19782. incompetent {suit}s) in Douglas Adams's "Hitch    Hiker's Guide to the
  19783. Galaxy".  The irony of using this as a    cultural recognition signal
  19784. appeals to hackers.
  19785.  
  19786.    :shareware: /sheir'weir/ n.  A kind of {freeware} (sense    1) for
  19787. which the author requests some payment, usually in the    accompanying
  19788. documentation files or in an announcement made by the    software
  19789. itself.  Such payment may or may not buy additional    support or
  19790. functionality.  See also {careware},    {charityware}, {crippleware},
  19791. {FRS}, {guiltware},    {postcardware}, and {-ware}; compare {payware}.
  19792.  
  19793.    :sharing violation:   [From a file error common to several    {OS}s]
  19794. A response to receiving information, typically of an excessively
  19795. personal nature, that you were probably happier not knowing.  "You know
  19796.   those little noises that Pat makes in bed..?"  "Whoa!  Sharing
  19797. violation!"  In contrast to the original file error, which indicated
  19798. that you were _not_ being given data that you _did_    want.
  19799.  
  19800.    :shelfware: /shelf'weir/ n.  Software purchased on a whim (by    an
  19801. individual user) or in accordance with policy (by a corporation    or
  19802. government agency), but not actually required for any particular
  19803. use.  Therefore, it often ends up on some shelf.
  19804.  
  19805.    :shell: [orig. {{Multics}} n.  techspeak, widely propagated    via
  19806. Unix] 1. [techspeak] The command interpreter used to pass    commands
  19807. to an operating system; so called because it is the part    of the
  19808. operating system that interfaces with the outside world.     2. More
  19809. generally, any interface program that mediates access to a    special
  19810. resource or {server} for convenience, efficiency, or    security
  19811. reasons; for this meaning, the usage is usually `a shell    around'
  19812. whatever.  This sort of program is also called a    `wrapper'.  3. A
  19813. skeleton program, created by hand or by another    program (like, say,
  19814. a parser generator), which provides the    necessary {incantation}s to
  19815. set up some task and the control    flow to drive it (the term {driver}
  19816. is sometimes used    synonymously).  The user is meant to fill in
  19817. whatever code is    needed to get real work done.  This usage is common
  19818. in the AI and    Microsoft Windows worlds, and confuses Unix hackers.
  19819.  
  19820.    Historical note: Apparently, the original Multics shell (sense 1)
  19821. was so called because it was a shell (sense 3); it ran user    programs
  19822. not by starting up separate processes, but by dynamically    linking
  19823. the programs into its own code, calling them as    subroutines, and
  19824. then dynamically de-linking them on return.  The    VMS command
  19825. interpreter still does something very like    this.
  19826.  
  19827.    :shell out: vi.  [Unix] To {spawn} an interactive    subshell from
  19828. within a program (e.g., a mailer or editor).  "Bang    foo runs foo in
  19829. a subshell, while bang alone shells out."
  19830.  
  19831.    :shift left (or right) logical:  [from any of various    machines'
  19832. instruction sets] 1. vi. To move oneself to the left    (right).  To
  19833. move out of the way.  2. imper. "Get out of that (my)    seat!  You can
  19834. shift to that empty one to the left (right)."     Often used without
  19835. the `logical', or as `left shift' instead of    `shift left'.
  19836. Sometimes heard as LSH /lish/, from the    {PDP-10} instruction set.
  19837. See {Programmer's Cheer}.
  19838.  
  19839.    :shim: n.  A small piece of data inserted in order to achieve    a
  19840. desired memory alignment or other addressing property.  For    example,
  19841. the PDP-11 Unix linker, in split I&D (instructions and    data) mode,
  19842. inserts a two-byte shim at location 0 in data space so    that no data
  19843. object will have an address of 0 (and be confused with    the C null
  19844. pointer).  See also {loose bytes}.
  19845.  
  19846.    :shitogram: /shit'oh-gram/ n.  A _really_ nasty piece    of email.
  19847. Compare {nastygram}, {flame}.
  19848.  
  19849.    :short card: n.  A half-length IBM XT expansion card or    adapter
  19850. that will fit in one of the two short slots located towards    the
  19851. right rear of a standard chassis (tucked behind the floppy disk
  19852. drives).  See also {tall card}.
  19853.  
  19854.    :shotgun debugging: n.  The software equivalent of {Easter
  19855. egging}; the making of relatively undirected changes to software in
  19856. the hope that a bug will be perturbed out of existence.  This    almost
  19857. never works, and usually introduces more bugs.
  19858.  
  19859.    :shovelware: /shuh'v*l-weir`/ n.  1. Extra software dumped onto    a
  19860. CD-ROM or tape to fill up the remaining space on the medium after
  19861. the software distribution it's intended to carry, but not    integrated
  19862. with the distribution.  2. A slipshod compilation of    software dumped
  19863. onto a CD-ROM without much care for organization or    even usability.
  19864.  
  19865.    :showstopper: n.  A hardware or (especially) software bug that
  19866. makes an implementation effectively unusable; one that absolutely
  19867. has to be fixed before development can go on.  Opposite in
  19868. connotation from its original theatrical use, which refers to
  19869. something stunningly _good_.
  19870.  
  19871.    :shriek: n.  See {excl}.  Occasional CMU usage, also in    common
  19872. use among APL fans and mathematicians, especially category
  19873. theorists.
  19874.  
  19875.    :Shub-Internet: /shuhb' in't*r-net/ n.  [MUD: from    H. P.
  19876. Lovecraft's evil fictional deity Shub-Niggurath, the    Black Goat with
  19877. a Thousand Young] The harsh personification of the    Internet: Beast
  19878. of a Thousand Processes, Eater of Characters,    Avatar of Line Noise,
  19879. and Imp of Call Waiting; the hideous    multi-tendriled entity formed
  19880. of all the manifold connections of    the net.  A sect of MUDders
  19881. worships Shub-Internet, sacrificing    objects and praying for good
  19882. connections.  To no avail -- its    purpose is malign and evil, and is
  19883. the cause of all network    slowdown.  Often heard as in "Freela casts
  19884. a tac nuke at    Shub-Internet for slowing her down."  (A forged
  19885. response often    follows along the lines of: "Shub-Internet gulps down
  19886. the tac nuke    and burps happily.")  Also cursed by users of the Web,
  19887. {FTP} and    {TELNET} when the system slows down.  The dread name of
  19888. Shub-Internet is seldom spoken aloud, as it is said that repeating
  19889. it three times will cause the being to wake, deep within its lair
  19890. beneath the Pentagon.
  19891.  
  19892.    [January 1996: It develops that one of the computer administrators
  19893. in the basement of the Pentagon read this entry and fell over
  19894. laughing.  As a result, you too can now poke Shub-Internet by
  19895. {ping}ing shub-internet.ims.disa.mil.  See also    {kremvax}. - ESR]
  19896.  
  19897.    [April 1999: shub-internet.ims.disa.mil is no more, alas.     But
  19898. Shub-Internet lives o^$#$*^ - ESR]
  19899.  
  19900.    :sidecar: n.  1. Syn. {slap on the side}.  Esp. used of    add-ons
  19901. for the late and unlamented IBM PCjr.  2. The IBM PC    compatibility
  19902. box that could be bolted onto the side of an Amiga.     Designed and
  19903. produced by Commodore, it broke all of the company's    own design
  19904. rules.  If it worked with any other peripherals, it was    by {magic}.
  19905. 3. More generally, any of various devices designed    to be connected
  19906. to the expansion slot on the left side of the Amiga    500 (and later,
  19907. 600 & 1200), which included a hard drive    controller, a hard drive,
  19908. and additional memory.
  19909.  
  19910.    :SIG: /sig/ n.  (also common as a prefix in combining forms)    A
  19911. Special Interest Group, in one of several technical areas,    sponsored
  19912. by the Association for Computing Machinery; well-known    ones include
  19913. SIGPLAN (the Special Interest Group on Programming    Languages),
  19914. SIGARCH (the Special Interest Group for Computer    Architecture) and
  19915. SIGGRAPH (the Special Interest Group for Computer    Graphics).
  19916. Hackers, not surprisingly, like to overextend this    naming convention
  19917. to less formal associations like SIGBEER (at ACM    conferences) and
  19918. SIGFOOD (at University of Illinois).
  19919.  
  19920.    :sig block: /sig blok/ n.  [Unix; often written `.sig'    there]
  19921. Short for `signature', used specifically to refer to the    electronic
  19922. signature block that most Unix mail- and news-posting    software will
  19923. {automagically} append to outgoing mail and news.     The composition
  19924. of one's sig can be quite an art form, including an    ASCII logo or
  19925. one's choice of witty sayings (see {sig quote},    {fool file}); but
  19926. many consider large sigs a waste of    {bandwidth}, and it has been
  19927. observed that the size of one's sig    block is usually inversely
  19928. proportional to one's longevity and    level of prestige on the net.
  19929. See also {doubled sig}.
  19930.  
  19931.    :sig quote: /sig kwoht/ n.  [Usenet] A maxim, quote, proverb, joke,
  19932.  or slogan embedded in one's {sig block} and intended to convey
  19933. something of one's philosophical stance, pet peeves, or sense of
  19934. humor.  "Calm down, it's only ones and zeroes."
  19935.  
  19936.    :sig virus: n.  A parasitic {meme} embedded in a {sig    block}.
  19937. There was a {meme plague} or fad for these on Usenet in    late 1991.
  19938. Most were equivalents of "I am a .sig virus.  Please    reproduce me in
  19939. your .sig block.".  Of course, the .sig virus's    memetic hook is the
  19940. giggle value of going along with the gag; this,    however, was a
  19941. self-limiting phenomenon as more and more people    picked up on the
  19942. idea.  There were creative variants on it; some    people stuck `sig
  19943. virus antibody' texts in their sigs, and there    was at least one
  19944. instance of a sig virus eater.
  19945.  
  19946.    :signal-to-noise ratio: [from analog electronics] n.  Used by
  19947. hackers in a generalization of its technical meaning.  `Signal'
  19948. refers to useful information conveyed by some communications    medium,
  19949. and `noise' to anything else on that medium.  Hence a low    ratio
  19950. implies that it is not worth paying attention to the medium    in
  19951. question.  Figures for such metaphorical ratios are never given.
  19952. The term is most often applied to {Usenet} newsgroups during    {flame
  19953. war}s.  Compare {bandwidth}.  See also {coefficient    of X}, {lost in
  19954. the noise}.
  19955.  
  19956.    :silicon: n.  Hardware, esp. ICs or microprocessor-based    computer
  19957. systems (compare {iron}).  Contrasted with software.     See also
  19958. {sandbender}.
  19959.  
  19960.    :silly walk: vi.  [from Monty Python's Flying Circus] 1. A
  19961. ridiculous procedure required to accomplish a task.  Like    {grovel},
  19962. but more {random} and humorous.  "I had to    silly-walk through half
  19963. the /usr directories to find the maps    file."  2. Syn. {fandango on
  19964. core}.
  19965.  
  19966.    :silo: n.  The FIFO input-character buffer in an RS-232 line
  19967. card.  So called from {DEC} terminology used on DH and DZ line cards
  19968. for the VAX and PDP-11, presumably because it was a storage space
  19969. for fungible stuff that went in at the top and came out at the
  19970. bottom.
  19971.  
  19972.    :Silver Book: n.  Jensen and Wirth's infamous "Pascal    User Manual
  19973. and Report", so called because of the silver cover of    the widely
  19974. distributed Springer-Verlag second edition of 1978 (ISBN
  19975. 0-387-90144-2).  See {{book titles}}, {Pascal}.
  19976.  
  19977.    :since time T equals minus infinity: adv.  A long time ago;    for
  19978. as long as anyone can remember; at the time that some    particular
  19979. frob was first designed.  Usually the word `time' is    omitted.  See
  19980. also {time T}; contrast {epoch}.
  19981.  
  19982.    :sitename: /si:t'naym/ n.  [Unix/Internet] The unique    electronic
  19983. name of a computer system, used to identify it in UUCP    mail, Usenet,
  19984. or other forms of electronic information interchange.     The folklore
  19985. interest of sitenames stems from the creativity and    humor they often
  19986. display.  Interpreting a sitename is not unlike    interpreting a
  19987. vanity license plate; one has to mentally unpack it,    allowing for
  19988. mono-case and length restrictions and the lack of    whitespace.
  19989. Hacker tradition deprecates dull,    institutional-sounding names in
  19990. favor of punchy, humorous, and    clever coinages (except that it is
  19991. considered appropriate for the    official public gateway machine of an
  19992. organization to bear the    organization's name or acronym).
  19993. Mythological references, cartoon    characters, animal names, and
  19994. allusions to SF or fantasy literature    are probably the most popular
  19995. sources for sitenames (in roughly    descending order).  The obligatory
  19996. comment when discussing these is    Harris's Lament: "All the good ones
  19997. are taken!"  See also    {network address}.
  19998.  
  19999.    :skrog: v.  Syn. {scrog}.
  20000.  
  20001.    :skulker: n.  Syn. {prowler}.
  20002.  
  20003.    :slab: [Apple]  1. n. A continuous horizontal line of pixels,    all
  20004. with the same color.  2. vi. To paint a slab on an output    device.
  20005. Apple's QuickDraw, like most other professional-level    graphics
  20006. systems, renders polygons and lines not with Bresenham's    algorithm,
  20007. but by calculating `slab points' for each scan line    on the screen in
  20008. succession, and then slabbing in the actual image    pixels.
  20009.  
  20010.    :slack: n.  1. Space allocated to a disk file but not actually
  20011. used to store useful information.  The techspeak equivalent is
  20012. `internal fragmentation'.  Antonym: {hole}.  2. In the theology    of
  20013. the {Church of the SubGenius}, a mystical substance or    quality that
  20014. is the prerequisite of all human happiness.
  20015.  
  20016.    Since Unix files are stored compactly, except for the unavoidable
  20017. wastage in the last block or fragment, it might be said that "Unix
  20018. has no slack".  See {ha ha only serious}.
  20019.  
  20020.    :slap on the side: n.  (also called a {sidecar}, or    abbreviated
  20021. `SOTS'.)  A type of external expansion hardware    marketed by computer
  20022. manufacturers (e.g., Commodore for the Amiga    500/1000 series and IBM
  20023. for the hideous failure called `PCjr').     Various SOTS boxes provided
  20024. necessities such as memory, hard drive    controllers, and conventional
  20025. expansion slots.
  20026.  
  20027.    :slash: n.  Common name for the slant (`/', ASCII 0101111)
  20028. character.  See {ASCII} for other synonyms.
  20029.  
  20030.    :slashdot effect: n.  1. Also spelled "/. effect"; what is    said
  20031. to have happened when a website being virtually unreachable    because
  20032. too many people are hitting it after the site was mentioned    in an
  20033. interesting article on the popular    Slashdot (http://slashdot.org/)
  20034. news service.  The term is    quite widely used by /. readers,
  20035. including variants like "That site    has been slashdotted again!"  2.
  20036. In a perhaps inevitable generation,    the term is being used to
  20037. describe any similar effect from being    listed on a popular site.
  20038.  
  20039.    :sleep: vi.  1. [techspeak] To relinquish a claim (of a    process
  20040. on a multitasking system) for service; to indicate to the    scheduler
  20041. that a process may be deactivated until some given event    occurs or a
  20042. specified time delay elapses.  2. In jargon, used very    similarly to
  20043. v. {block}; also in `sleep on', syn. with    `block on'.  Often used to
  20044. indicate that the speaker has    relinquished a demand for resources
  20045. until some (possibly    unspecified) external event: "They can't get
  20046. the fix I've been    asking for into the next release, so I'm going to
  20047. sleep on it until    the release, then start hassling them again."
  20048.  
  20049.    :slim: n.  A small, derivative change (e.g., to code).
  20050.  
  20051.    :slop: n.  1. A one-sided {fudge factor}, that is, an    allowance
  20052. for error but in only one of two directions.  For    example, if you
  20053. need a piece of wire 10 feet long and have to guess    when you cut it,
  20054. you make very sure to cut it too long, by a large    amount if
  20055. necessary, rather than too short by even a little bit,    because you
  20056. can always cut off the slop but you can't paste it back    on again.
  20057. When discrete quantities are involved, slop is often    introduced to
  20058. avoid the possibility of being on the losing side of    a {fencepost
  20059. error}.  2. The percentage of `extra' code    generated by a compiler
  20060. over the size of equivalent assembler code    produced by
  20061. {hand-hacking}; i.e., the space (or maybe time) you    lose because you
  20062. didn't do it yourself.  This number is often used    as a measure of
  20063. the goodness of a compiler; slop below 5% is very    good, and 10% is
  20064. usually acceptable.  With modern compiler    technology, esp. on RISC
  20065. machines, the compiler's slop may    actually be _negative_; that is,
  20066. humans may be unable to    generate code as good.  This is one of the
  20067. reasons assembler    programming is no longer common.
  20068.  
  20069.    :slopsucker: /slop'suhk-r/ n.  A lowest-priority task that    waits
  20070. around until everything else has `had its fill' of machine
  20071. resources.  Only when the machine would otherwise be idle is the
  20072. task allowed to `suck up the slop'.  Also called a `hungry puppy'    or
  20073. `bottom feeder'.  One common variety of slopsucker hunts for    large
  20074. prime numbers.  Compare {background}.
  20075.  
  20076.    :Slowlaris: /slo'-lahr-is/ n.  [Usenet; poss. from the    variety of
  20077. sloth called a "slow loris"] Common hackish term for    Solaris, Sun's
  20078. System VR4 version of UNIX that came out of the    standardization wars
  20079. of the early 1990s. So named because    especially on older hardware,
  20080. responsiveness was much less crisp    than under the preceding SunOS.
  20081. Early releases of Solaris (that is,    Solaris 2, as some {marketroid}s
  20082. at Sun retroactively    rechristened SunOS as Solaris 1) were quite
  20083. buggy, and Sun was    forced by customer demand to support SunOS for
  20084. quite some    time. Newer versions are acknowledged to be among the best
  20085.   commercial UNIX variants in 1998, but still lose single-processor
  20086. benchmarks to Sparc {Linux}. Compare {AIDX}, {HP-SUX},    {Nominal
  20087. Semidestructor}, {Telerat}, {sun-stools}.
  20088.  
  20089.    :slurp: vt.  To read a large data file entirely into {core}
  20090. before working on it.  This may be contrasted with the strategy of
  20091. reading a small piece at a time, processing it, and then reading    the
  20092. next piece.  "This program slurps in a 1K-by-1K matrix and    does an
  20093. FFT."  See also {sponge}.
  20094.  
  20095.    :smart: adj.  Said of a program that does the {Right Thing}    in a
  20096. wide variety of complicated circumstances.  There is a    difference
  20097. between calling a program smart and calling it    intelligent; in
  20098. particular, there do not exist any intelligent    programs (yet -- see
  20099. {AI-complete}).  Compare {robust}    (smart programs can be {brittle}).
  20100.  
  20101.    :smart terminal: n.  1. A terminal that has enough computing
  20102. capability to render graphics or to offload some kind of front-end
  20103. processing from the computer it talks to.  The development of
  20104. workstations and personal computers has made this term and the
  20105. product it describes semi-obsolescent, but one may still hear
  20106. variants of the phrase `act like a smart terminal' used to    describe
  20107. the behavior of workstations or PCs with respect to    programs that
  20108. execute almost entirely out of a remote {server}'s    storage, using
  20109. local devices as displays.  2. obs. Any terminal    with an addressable
  20110. cursor; the opposite of a {glass tty}.     Today, a terminal with
  20111. merely an addressable cursor, but with none    of the more-powerful
  20112. features mentioned in sense 1, is called a    {dumb terminal}.
  20113.  
  20114.    There is a classic quote from Rob Pike (inventor of the {blit}
  20115. terminal): "A smart terminal is not a smart_ass_ terminal,    but
  20116. rather a terminal you can educate."  This illustrates a common
  20117. design problem: The attempt to make peripherals (or anything else)
  20118. intelligent sometimes results in finicky, rigid `special    features'
  20119. that become just so much dead weight if you try to use    the device in
  20120. any way the designer didn't anticipate.  Flexibility    and
  20121. programmability, on the other hand, are _really_ smart.     Compare
  20122. {hook}.
  20123.  
  20124.    :smash case: vi.  To lose or obliterate the    uppercase/lowercase
  20125. distinction in text input.  "MS-DOS will    automatically smash case in
  20126. the names of all the files you    create."  Compare {fold case}.
  20127.  
  20128.    :smash the stack: n.  [C programming] To corrupt the execution
  20129. stack by writing past the end of a local array or other data
  20130. structure.  Code that smashes the stack can cause a return from the
  20131. routine to jump to a random address, resulting in some of the most
  20132. insidious data-dependent bugs known to mankind.  Variants include
  20133. `trash' the stack, {scribble} the stack, {mangle} the    stack; the
  20134. term **{mung} the stack is not used, as this is never    done
  20135. intentionally.  See {spam}; see also {aliasing bug},    {fandango on
  20136. core}, {memory leak}, {memory smash},    {precedence lossage}, {overrun
  20137. screw}.
  20138.  
  20139.    :smiley: n.  See {emoticon}.
  20140.  
  20141.    :smoke: vi.  1. To {crash} or blow up, usually    spectacularly.
  20142. "The new version smoked, just like the last one."     Used for both
  20143. hardware (where it often describes an actual physical    event), and
  20144. software (where it's merely colorful).  2. [from    automotive slang]
  20145. To be conspicuously fast.  "That processor    really smokes."  Compare
  20146. {magic smoke}.
  20147.  
  20148.    :smoke and mirrors: n.  Marketing deceptions.  The term is
  20149. mainstream in this general sense.  Among hackers it's strongly
  20150. associated with bogus demos and crocked {benchmark}s (see also
  20151. {MIPS}, {machoflops}).  "They claim their new box cranks 50    MIPS for
  20152. under $5000, but didn't specify the instruction mix --    sounds like
  20153. smoke and mirrors to me."  The phrase, popularized by    newspaper
  20154. columnist Jimmy Breslin c.1975, has been said to    derive from carnie
  20155. slang for magic acts and `freak show' displays    that depend on
  20156. `trompe l'oeil' effects, but also calls to mind    the fierce Aztec god
  20157. Tezcatlipoca (lit. "Smoking Mirror") for    whom the hearts of huge
  20158. numbers of human sacrificial victims were    regularly cut out.  Upon
  20159. hearing about a rigged demo or yet another    round of fantasy-based
  20160. marketing promises, hackers often feel    analogously disheartened.
  20161. See also {stealth manager}.
  20162.  
  20163.    :smoke test: n.  1. A rudimentary form of testing applied to
  20164. electronic equipment following repair or reconfiguration, in which
  20165. power is applied and the tester checks for sparks, smoke, or other
  20166. dramatic signs of fundamental failure.  See {magic smoke}.     2. By
  20167. extension, the first run of a piece of software after    construction
  20168. or a critical change.  See and compare {reality    check}.
  20169.  
  20170.    There is an interesting semi-parallel to this term among
  20171. typographers and printers: When new typefaces are being punch-cut    by
  20172. hand, a `smoke test' (hold the letter in candle smoke, then    press it
  20173. onto paper) is used to check out new dies.
  20174.  
  20175.    :smoking clover: n.  [ITS] A {display hack} originally    due to
  20176. Bill Gosper.  Many convergent lines are drawn on a color    monitor in
  20177. such a way that every pixel struck has its color    incremented.  The
  20178. lines all have one endpoint in the middle of the    screen; the other
  20179. endpoints are spaced one pixel apart around the    perimeter of a large
  20180. square.  The color map is then repeatedly    rotated.  This results in
  20181. a striking, rainbow-hued, shimmering    four-leaf clover.  Gosper joked
  20182. about keeping it hidden from the    FDA (the U.S.'s Food and Drug
  20183. Administration) lest its    hallucinogenic properties cause it to be
  20184. banned.
  20185.  
  20186.    :SMOP: /S-M-O-P/ n.  [Simple (or Small) Matter of    Programming] 1.
  20187. A piece of code, not yet written, whose anticipated    length is
  20188. significantly greater than its complexity.  Used to refer    to a
  20189. program that could obviously be written, but is not worth the
  20190. trouble.  Also used ironically to imply that a difficult problem    can
  20191. be easily solved because a program can be written to do it; the
  20192. irony is that it is very clear that writing such a program will be    a
  20193. great deal of work.  "It's easy to enhance a FORTRAN compiler to
  20194. compile COBOL as well; it's just an SMOP."  2. Often used    ironically
  20195. by the intended victim when a suggestion for a program    is made which
  20196. seems easy to the suggester, but is obviously (to the    victim) a lot
  20197. of work.
  20198.  
  20199.    :smurf: /smerf/ n.  [from the soc.motss newsgroup on    Usenet,
  20200. after some obnoxiously gooey cartoon characters] A    newsgroup regular
  20201. with a habitual style that is irreverent, silly,    and cute.  Like
  20202. many other hackish terms for people, this one    may be praise or
  20203. insult depending on who uses it.  In general,    being referred to as a
  20204. smurf is probably not going to make your day    unless you've
  20205. previously adopted the label yourself in a spirit of    irony.  Compare
  20206. {old fart}.
  20207.  
  20208.    :SNAFU principle: /sna'foo prin'si-pl/ n.  [from a WWII Army
  20209. acronym for `Situation Normal, All Fucked Up'] "True    communication
  20210. is possible only between equals, because inferiors    are more
  20211. consistently rewarded for telling their superiors pleasant    lies than
  20212. for telling the truth." -- a central tenet of    {Discordianism}, often
  20213. invoked by hackers to explain why    authoritarian hierarchies screw up
  20214. so reliably and systematically.     The effect of the SNAFU principle
  20215. is a progressive disconnection of    decision-makers from reality.
  20216. This lightly adapted version of a    fable dating back to the early
  20217. 1960s illustrates the phenomenon    perfectly:
  20218.  
  20219.      In the beginning was the plan,
  20220.      and then the specification;
  20221.      And the plan was without form,
  20222.      and the specification was void.
  20223.      And darkness
  20224.      was on the faces of the implementors thereof;
  20225.      And they spake unto their leader,
  20226.      saying:
  20227.      "It is a crock of shit,
  20228.      and smells as of a sewer."
  20229.      And the leader took pity on them,
  20230.      and spoke to the project leader:
  20231.      "It is a crock of excrement,
  20232.      and none may abide the odor thereof."
  20233.      And the project leader
  20234.      spake unto his section head, saying:
  20235.      "It is a container of excrement,
  20236.      and it is very strong, such that none may abide it."
  20237.      The section head then hurried to his department manager,
  20238.      and informed him thus:
  20239.      "It is a vessel of fertilizer,
  20240.      and none may abide its strength."
  20241.      The department manager carried these words
  20242.      to his general manager,
  20243.      and spoke unto him
  20244.      saying:
  20245.      "It containeth that which aideth the growth of plants,
  20246.      and it is very strong."
  20247.      And so it was that the general manager rejoiced
  20248.      and delivered the good news unto the Vice President.
  20249.      "It promoteth growth,
  20250.      and it is very powerful."
  20251.      The Vice President rushed to the President's side,
  20252.      and joyously exclaimed:
  20253.      "This powerful new software product
  20254.      will promote the growth of the company!"
  20255.      And the President looked upon the product,
  20256.      and saw that it was very good.
  20257.  
  20258.    After the subsequent and inevitable disaster, the {suit}s    protect
  20259. themselves by saying "I was misinformed!", and the    implementors are
  20260. demoted or fired.  Compare {Conway's Law}.
  20261.  
  20262.    :snail: vt.  To {snail-mail} something. "Snail me a copy    of those
  20263. graphics, will you?"
  20264.  
  20265.    :snail-mail: n.  Paper mail, as opposed to electronic.     Sometimes
  20266. written as the single word `SnailMail'.  One's postal    address is,
  20267. correspondingly, a `snail address'.  Derives from    earlier coinage
  20268. `USnail' (from `U.S. Mail'), for which    there have even been parody
  20269. posters and stamps made.  Also (less    commonly) called `P-mail', from
  20270. `paper mail' or `physical mail'.     Oppose {email}.
  20271.  
  20272.    :snap: v.  To replace a pointer to a pointer with a direct
  20273. pointer; to replace an old address with the forwarding address    found
  20274. there.  If you telephone the main number for an institution    and ask
  20275. for a particular person by name, the operator may tell you    that
  20276. person's extension before connecting you, in the hopes that    you will
  20277. `snap your pointer' and dial direct next time.  The    underlying
  20278. metaphor may be that of a rubber band stretched through    a number of
  20279. intermediate points; if you remove all the thumbtacks    in the middle,
  20280. it snaps into a straight line from first to last.     See {chase
  20281. pointers}.
  20282.  
  20283.    Often, the behavior of a {trampoline} is to perform an error
  20284. check once and then snap the pointer that invoked it so as
  20285. henceforth to bypass the trampoline (and its one-shot error check).
  20286. In this context one also speaks of `snapping links'.  For    example,
  20287. in a LISP implementation, a function interface trampoline    might
  20288. check to make sure that the caller is passing the correct    number of
  20289. arguments; if it is, and if the caller and the callee are    both
  20290. compiled, then snapping the link allows that particular path    to use
  20291. a direct procedure-call instruction with no further    overhead.
  20292.  
  20293.    :snarf: /snarf/ vt.  1. To grab, esp. to grab a large    document or
  20294. file for the purpose of using it with or without the    author's
  20295. permission.  See also {BLT}.  2. [in the Unix    community] To fetch a
  20296. file or set of files across a network.  See    also {blast}.  This term
  20297. was mainstream in the late 1960s,    meaning `to eat piggishly'.  It
  20298. may still have this connotation in    context.  "He's in the snarfing
  20299. phase of hacking -- {FTP}ing    megs of stuff a day."  3. To acquire,
  20300. with little concern for    legal forms or politesse (but not quite by
  20301. stealing).  "They    were giving away samples, so I snarfed a bunch of
  20302. them."     4. Syn. for {slurp}.  "This program starts by snarfing the
  20303. entire database into core, then...." 5. [GEnie] To spray    food or
  20304. {programming fluid}s due to laughing at the wrong    moment.  "I was
  20305. drinking coffee, and when I read your post I    snarfed all over my
  20306. desk."  "If I keep reading this topic, I    think I'll have to
  20307. snarf-proof my computer with a keyboard    {condom}."  [This sense
  20308. appears to be widespread among mundane    teenagers --ESR]
  20309.  
  20310.    :snarf & barf: /snarf'n-barf`/ n.  Under a {WIMP    environment},
  20311. the act of grabbing a region of text and then    stuffing the contents
  20312. of that region into another region (or the    same one) to avoid
  20313. retyping a command line.  In the late 1960s,    this was a mainstream
  20314. expression for an `eat now, regret it later'    cheap-restaurant
  20315. expedition.
  20316.  
  20317.    :snarf down: v.  To {snarf}, with the connotation of    absorbing,
  20318. processing, or understanding.  "I'll snarf down the    latest version
  20319. of the {nethack} user's guide -- it's been a    while since I played
  20320. last and I don't know what's changed    recently."
  20321.  
  20322.    :snark: n.  [Lewis Carroll, via the Michigan Terminal System]    1.
  20323. A system failure.  When a user's process bombed, the operator    would
  20324. get the message "Help, Help, Snark in MTS!"  2. More    generally, any
  20325. kind of unexplained or threatening event on a    computer (especially
  20326. if it might be a boojum).  Often used to refer    to an event or a log
  20327. file entry that might indicate an attempted    security violation.  See
  20328. {snivitz}.  3. UUCP name of    snark.thyrsus.com, home site of the
  20329. Jargon File versions from    2.*.* on (i.e., this lexicon).
  20330.  
  20331.    :sneaker: n.  An individual hired to break into places in    order
  20332. to test their security; analogous to {tiger team}.     Compare
  20333. {samurai}.
  20334.  
  20335.    :sneakernet: /snee'ker-net/ n.  Term used (generally with    ironic
  20336. intent) for transfer of electronic information by physically
  20337. carrying tape, disks, or some other media from one machine to
  20338. another.  "Never underestimate the bandwidth of a station wagon
  20339. filled with magtape, or a 747 filled with CD-ROMs."  Also called
  20340. `Tennis-Net', `Armpit-Net', `Floppy-Net' or `Shoenet'; in the    1990s,
  20341. `Nike network' after a well-known sneaker brand.
  20342.  
  20343.    :sniff: v.,n.  Synonym for {poll}.
  20344.  
  20345.    :snivitz: /sniv'itz/ n.  A hiccup in hardware or software; a
  20346. small, transient problem of unknown origin (less serious than a
  20347. {snark}).  Compare {glitch}.
  20348.  
  20349.    :'Snooze: /snooz/ [FidoNet] n.  Fidonews, the weekly    official
  20350. on-line newsletter of FidoNet.  As the editorial policy of    Fidonews
  20351. is "anything that arrives, we print", there are often    large articles
  20352. completely unrelated to FidoNet, which in turn tend    to elicit
  20353. {flamage} in subsequent issues.
  20354.  
  20355.    :SO: /S-O/ n.  1. (also `S.O.') Abbrev. for Significant    Other,
  20356. almost invariably written abbreviated and pronounced /S-O/    by
  20357. hackers.  Used to refer to one's primary relationship, esp. a
  20358. live-in to whom one is not married.  See {MOTAS}, {MOTOS},    {MOTSS}.
  20359. 2. [techspeak] The Shift Out control character in    ASCII (Control-N,
  20360. 0001110).
  20361.  
  20362.    :social engineering: n.  Term used among {cracker}s and    {samurai}
  20363. for cracking techniques that rely on weaknesses in    {wetware} rather
  20364. than software; the aim is to trick people into    revealing passwords
  20365. or other information that compromises a target    system's security.
  20366. Classic scams include phoning up a mark who has    the required
  20367. information and posing as a field service tech or a    fellow employee
  20368. with an urgent access problem.  See also the    {tiger team} story in
  20369. the {patch} entry.
  20370.  
  20371.    :social science number: n. //  [IBM] A statistic that is
  20372. {content-free}, or nearly so.  A measure derived via methods of
  20373. questionable validity from data of a dubious and vague nature.
  20374. Predictively, having a social science number in hand is seldom much
  20375. better than nothing, and can be considerably worse.  As a rule,
  20376. {management} loves them.  See also {numbers}, {math-out},    {pretty
  20377. pictures}.
  20378.  
  20379.    :sock puppet: n.  [Usenet: from the act of placing a sock    over
  20380. your hand and talking to it and pretending it's talking back]    In
  20381. Usenet parlance, a {pseudo} through which the puppeteer posts
  20382. follow-ups to their own original message to give the appearance    that
  20383. a number of people support the views held in the original    message.
  20384.  
  20385.    :sodium substrate: n.  Syn {salt substrate}.
  20386.  
  20387.    :soft boot: n.  See {boot}.
  20388.  
  20389.    :softcopy: /soft'kop-ee/ n.  [by analogy with `hardcopy']    A
  20390. machine-readable form of corresponding hardcopy.  See {bits},
  20391. {machinable}.
  20392.  
  20393.    :software bloat: n.  The results of {second-system effect}    or
  20394. {creeping featuritis}.  Commonly cited examples include    `ls(1)',
  20395. {X}, {BSD}, {Missed'em-five}, and {OS/2}.
  20396.  
  20397.    :software hoarding: n.  Pejorative term employed by members and
  20398. adherents of the {GNU} project to describe the act of holding
  20399. software proprietary, keeping it under trade secret or license    terms
  20400. which prohibit free redistribution and modification.  Used    primarily
  20401. in Free Software Foundation propaganda.  For a summary    of related
  20402. issues, see {GNU}.
  20403.  
  20404.    :software laser: n.  An optical laser works by bouncing    photons
  20405. back and forth between two mirrors, one totally reflective    and one
  20406. partially reflective.  If the lasing material (usually a    crystal)
  20407. has the right properties, photons scattering off the atoms    in the
  20408. crystal will excite cascades of more photons, all in    lockstep.
  20409. Eventually the beam will escape through the    partially-reflective
  20410. mirror.  One kind of {sorcerer's apprentice    mode} involving {bounce
  20411. message}s can produce closely analogous    results, with a {cascade} of
  20412. messages escaping to flood nearby    systems.  By mid-1993 there had
  20413. been at least two publicized    incidents of this kind.
  20414.  
  20415.    :software rot: n.  Term used to describe the tendency of    software
  20416. that has not been used in a while to {lose}; such    failure may be
  20417. semi-humorously ascribed to {bit rot}.  More    commonly, `software
  20418. rot' strikes when a program's assumptions    become out of date.  If
  20419. the design was insufficiently {robust},    this may cause it to fail in
  20420. mysterious ways.
  20421.  
  20422.    For example, owing to endemic shortsightedness in the design of
  20423. COBOL programs, most will succumb to software rot when their    2-digit
  20424. year counters {wrap around} at the beginning of the    year 2000.
  20425. Actually, related lossages often afflict centenarians    who have to
  20426. deal with computer software designed by unimaginative    clods.  One
  20427. such incident became the focus of a minor public flap    in 1990, when
  20428. a gentleman born in 1889 applied for a driver's    license renewal in
  20429. Raleigh, North Carolina.  The new system    refused to issue the card,
  20430. probably because with 2-digit years the    ages 101 and 1 cannot be
  20431. distinguished.
  20432.  
  20433.    Historical note: Software rot in an even funnier sense than the
  20434. mythical one was a real problem on early research computers (e.g.,
  20435. the R1; see {grind crank}).  If a program that depended on a
  20436. peculiar instruction hadn't been run in quite a while, the user
  20437. might discover that the opcodes no longer did the same things they
  20438. once did.  ("Hey, so-and-so needs an instruction to do
  20439. such-and-such.  We can {snarf} this opcode, right?  No one uses
  20440. it.")
  20441.  
  20442.    Another classic example of this sprang from the time an MIT hacker
  20443. found a simple way to double the speed of the unconditional jump
  20444. instruction on a PDP-6, so he patched the hardware.  Unfortunately,
  20445. this broke some fragile timing software in a music-playing program,
  20446. throwing its output out of tune.  This was fixed by adding a
  20447. defensive initialization routine to compare the speed of a timing
  20448. loop with the real-time clock; in other words, it figured out how
  20449. fast the PDP-6 was that day, and corrected appropriately.
  20450.  
  20451.    Compare {bit rot}.
  20452.  
  20453.    :softwarily: /soft-weir'i-lee/ adv.  In a way pertaining to
  20454. software.  "The system is softwarily unreliable."  The adjective
  20455. **`softwary' is _not_ used.  See {hardwarily}.
  20456.  
  20457.    :softy: n.  [IBM] Hardware hackers' term for a software expert who
  20458. is largely ignorant of the mysteries of hardware.
  20459.  
  20460.    :some random X: adj.  Used to indicate a member of class X,    with
  20461. the implication that Xs are interchangeable.  "I think some    random
  20462. cracker tripped over the guest timeout last night."  See    also {J.
  20463. Random}.
  20464.  
  20465.    :sorcerer's apprentice mode: n.  [from Goethe's "Der
  20466. Zauberlehrling" via Paul Dukas's "L'apprenti sorcier" the film
  20467. "Fantasia"] A bug in a protocol where, under some    circumstances, the
  20468. receipt of a message causes multiple messages to    be sent, each of
  20469. which, when received, triggers the same bug.  Used    esp. of such
  20470. behavior caused by {bounce message} loops in    {email} software.
  20471. Compare {broadcast storm}, {network    meltdown}, {software laser},
  20472. {ARMM}.
  20473.  
  20474.    :SOS: /S-O-S/  n.,obs. An infamously {losing} text    editor.  Once,
  20475. back in the 1960s, when a text editor was needed for    the PDP-6, a
  20476. hacker crufted together a {quick-and-dirty}    `stopgap editor' to be
  20477. used until a better one was written.     Unfortunately, the old one was
  20478. never really discarded when new ones    (in particular, {TECO}) came
  20479. along.  SOS is a descendant (`Son    of Stopgap') of that editor, and
  20480. many PDP-10 users gained the    dubious pleasure of its acquaintance.
  20481. Since then other programs    similar in style to SOS have been written,
  20482. notably the early font    editor BILOS /bye'lohs/, the Brother-In-Law
  20483. Of Stopgap (the    alternate expansion `Bastard Issue, Loins of
  20484. Stopgap' has been    proposed).
  20485.  
  20486.    :source of all good bits: n.  A person from whom (or a place    from
  20487. which) useful information may be obtained.  If you need to    know
  20488. about a program, a {guru} might be the source of all good    bits.  The
  20489. title is often applied to a particularly competent    secretary.
  20490.  
  20491.    :space-cadet keyboard: n.  A now-legendary device used on MIT
  20492. LISP machines, which inspired several still-current jargon terms    and
  20493. influenced the design of {EMACS}.  It was equipped with no    fewer
  20494. than _seven_ shift keys: four keys for {bucky bits}    (`control',
  20495. `meta', `hyper', and `super') and three like    regular shift keys,
  20496. called `shift', `top', and `front'.  Many    keys had three symbols on
  20497. them: a letter and a symbol on the top,    and a Greek letter on the
  20498. front.  For example, the `L' key had an    `L' and a two-way arrow on
  20499. the top, and the Greek letter lambda on    the front.  By pressing this
  20500. key with the right hand while playing    an appropriate `chord' with
  20501. the left hand on the shift keys, you    could get the following
  20502. results:
  20503.  
  20504.     L
  20505.           lowercase l
  20506.  
  20507.     shift-L
  20508.           uppercase L
  20509.  
  20510.     front-L
  20511.           lowercase lambda
  20512.  
  20513.     front-shift-L
  20514.           uppercase lambda
  20515.  
  20516.     top-L
  20517.           two-way arrow (front and shift are ignored)
  20518.  
  20519. And of course each of these might also be typed with any    combination
  20520. of the control, meta, hyper, and super keys.  On this    keyboard, you
  20521. could type over 8000 different characters!  This    allowed the user to
  20522. type very complicated mathematical text, and    also to have thousands
  20523. of single-character commands at his    disposal.  Many hackers were
  20524. actually willing to memorize the    command meanings of that many
  20525. characters if it reduced typing time    (this attitude obviously shaped
  20526. the interface of EMACS).  Other    hackers, however, thought having
  20527. that many bucky bits was overkill,    and objected that such a keyboard
  20528. can require three or four hands    to operate.  See {bucky bits},
  20529. {cokebottle}, {double bucky},    {meta bit}, {quadruple bucky}.
  20530.  
  20531.    Note: early versions of this entry incorrectly identified the
  20532. space-cadet keyboard with the `Knight keyboard'.  Though both    were
  20533. designed by Tom Knight, the latter term was properly applied    only to
  20534. a keyboard used for ITS on the PDP-10 and modeled on the    Stanford
  20535. keyboard (as described under {bucky bits}).  The true    space-cadet
  20536. keyboard evolved from the first Knight keyboard.
  20537.  
  20538.    :spaceship operator: n.  The glyph `<=>', so-called    apparently
  20539. because in the low-resolution constant-width font used    on many
  20540. terminals it vaguely resembles a flying saucer.  {Perl}    uses this to
  20541. denote the signum-of-difference operation.
  20542.  
  20543.    :SPACEWAR: n.  A space-combat simulation game, inspired by    E. E.
  20544. "Doc" Smith's "Lensman" books, in which two    spaceships duel around a
  20545. central sun, shooting torpedoes at each    other and jumping through
  20546. hyperspace.  This game was first    implemented on the PDP-1 at MIT in
  20547. 1962.  Nine years later, a    descendant of the game motivated Ken
  20548. Thompson to build, in his    spare time on a scavenged PDP-7, the
  20549. operating system that became    {{Unix}}.  Less than nine years after
  20550. that, SPACEWAR was    commercialized as one of the first video games;
  20551. descendants are    still {feep}ing in video arcades everywhere.
  20552.  
  20553.    :spaghetti code: n.  Code with a complex and tangled control
  20554. structure, esp. one using many GOTOs, exceptions, or other
  20555. `unstructured' branching constructs.  Pejorative.  The synonym
  20556. `kangaroo code' has been reported, doubtless because such code    has
  20557. so many jumps in it.
  20558.  
  20559.    :spaghetti inheritance: n.  [encountered among users of
  20560. object-oriented languages that use inheritance, such as Smalltalk]    A
  20561. convoluted class-subclass graph, often resulting from carelessly
  20562. deriving subclasses from other classes just for the sake of reusing
  20563. their code.  Coined in a (successful) attempt to discourage such
  20564. practice, through guilt-by-association with {spaghetti code}.
  20565.  
  20566.    :spam: vt.,vi.,n.  [from "Monty Python's Flying    Circus"] 1. To
  20567. crash a program by overrunning a fixed-size buffer    with excessively
  20568. large input data.  See also {buffer overflow},    {overrun screw},
  20569. {smash the stack}.  2. To cause a newsgroup    to be flooded with
  20570. irrelevant or inappropriate messages. You can    spam a newsgroup with
  20571. as little as one well- (or ill-) planned    message (e.g. asking "What
  20572. do you think of abortion?" on    soc.women).  This is often done with
  20573. {cross-post}ing    (e.g. any message which is crossposted to
  20574. alt.rush-limbaugh    and alt.politics.homosexuality will almost
  20575. inevitably spam    both groups). This overlaps with {troll} behavior;
  20576. the latter    more specific term has become more common. 3. To send many
  20577.   identical or nearly-identical messages separately to a large number
  20578.  of Usenet newsgroups. This is more specifically called `ECP',
  20579. Excessive Cross-Posting.  This is one sure way to infuriate nearly
  20580. everyone on the Net. See also {velveeta} and {jello}. 4. To    bombard
  20581. a newsgroup with multiple copies of a message.  This is    more
  20582. specifically called `EMP', Excessive Multi-Posting.  5.  To
  20583. mass-mail unrequested identical or nearly-identical email messages,
  20584. particularly those containing advertising.  Especially used when    the
  20585. mail addresses have been culled from network traffic or    databases
  20586. without the consent of the recipients. Synonyms    include {UCE},
  20587. {UBE}. 6. Any large, annoying,    quantity of output.  For instance,
  20588. someone on IRC who walks away from    their screen and comes back to
  20589. find 200 lines of text might say "Oh no,    spam".
  20590.  
  20591.    The later definitions have become much more prevalent as the
  20592. Internet has opened up to non-techies, and to most people senses 3    4
  20593. and 5 are now primary.  All three behaviors are considered abuse    of
  20594. the net, and are almost universally grounds for termination of    the
  20595. originator's email account or network connection.  In these    senses
  20596. the term `spam' has gone mainstream, though without its    original
  20597. sense or folkloric freight - there is apparently a    widespread myth
  20598. among {luser}s that "spamming" is what happens    when you dump cans of
  20599. Spam into a revolving fan.
  20600.  
  20601.    :spamblock: /spam'blok/ n.  [poss. by analogy to    sunblock] Text
  20602. inserted in an email address to render it invalid    and thus useless
  20603. to spammers.  For example, the address    `jrandom@hacker.org' might be
  20604. transformed to    `jrandom@NOSPAM.hacker.org'.  Adding spamblock to an
  20605. address is    often referred to as `munging' it (see {munge})-.  This
  20606. evasion    tactic depends on the fact that most spammers collect names
  20607. with    some sort of {address harvester} on volumes too high to de-mung
  20608.   by hand, but individual humans reading an email message can readily
  20609.  spot and remove a spamblock in the from address.
  20610.  
  20611.    Note: This is not actually a very effective tactic, and may already
  20612.  be passing out of use in early 1999 after about two years of life.
  20613. In both mail and news, it's essentially impossible to keep a smart
  20614. address harvester from mining out the addresses in the message
  20615. header and trace lines.  Therefore the only people who can be
  20616. protected are third parties mentioned by email address in the
  20617. message - not a common enough case to interest spammers.
  20618.  
  20619.    :spamhaus: spam'hows n.  Pejorative term for an    internet service
  20620. provider that permits or even encourages {spam}    mailings from its
  20621. systems.  The plural is `spamhausen'.  There is    a web page devoted
  20622. to tracking spamhausen (http://combat.uxn.com/spamhaus.html).
  20623.  
  20624.    The most notorious of the spamhausen was Sanford Wallace's Cyber
  20625. Promotions Inc., shut down by a lawsuit on 16 October 1997.  The
  20626. anniversary of the shutdown is celebrated on Usenet as Spam Freedom
  20627. Day, but lesser imitators of the Spamford still infest various    murky
  20628. corners of the net.  Since prosecution of spammers became    routine
  20629. under the junk-fax laws and statues specifically targeting    spam,
  20630. spamhausen have declined in relative importance; today,    hit-and-run
  20631. attacks by spammers using {relay rape} and    {throwaway account}s on
  20632. reputable ISPs seem to account for most    of the flow.
  20633.  
  20634.    :spamvertize: v.  To advertise using {spam}.     Pejorative.
  20635.  
  20636.    :spangle: n.  [UK] The singular of {bells and    whistles}.  See
  20637. also {spungle}.
  20638.  
  20639.    :spawn: n.,vi.  1. [techspeak] In UNIX parlance, to create    a
  20640. child process from within a process.  Technically this is a    `fork';
  20641. the term `spawn' is a bit more general and is used for    threads
  20642. (lightweight processes) as well as traditional heavyweight
  20643. processes.  2. In gaming, meant to indicate where (`spawn-point')
  20644. and when a player comes to life (or `re-spawns') after being    killed.
  20645. Opposite of {frag}.
  20646.  
  20647.    :special-case: vt.  To write unique code to handle input to or
  20648. situations arising in a program that are somehow distinguished from
  20649. normal processing.  This would be used for processing of mode
  20650. switches or interrupt characters in an interactive interface (as
  20651. opposed, say, to text entry or normal commands), or for processing
  20652. of {hidden flag}s in the input of a batch program or    {filter}.
  20653.  
  20654.    :speedometer: n.  A pattern of lights displayed on a linear    set
  20655. of LEDs (today) or nixie tubes (yesterday, on ancient    mainframes).
  20656. The pattern is shifted left every N times the    operating system goes
  20657. through its {main loop}.  A swiftly moving    pattern indicates that
  20658. the system is mostly idle; the speedometer    slows down as the system
  20659. becomes overloaded.  The speedometer on    Sun Microsystems hardware
  20660. bounces back and forth like the eyes on    one of the Cylons from the
  20661. wretched "Battlestar Galactica" TV    series.
  20662.  
  20663.    Historical note: One computer, the GE 600 (later Honeywell 6000)
  20664. actually had an _analog_ speedometer on the front panel,    calibrated
  20665. in instructions executed per second.
  20666.  
  20667.    :spell: n.  Syn. {incantation}.
  20668.  
  20669.    :spelling flame: n. //  [Usenet] A posting ostentatiously
  20670. correcting a previous article's spelling as a way of casting scorn
  20671. on the point the article was trying to make, instead of actually
  20672. responding to that point (compare {dictionary flame}).  Of    course,
  20673. people who are more than usually slovenly spellers are    prone to
  20674. think _any_ correction is a spelling flame.  It's an    amusing comment
  20675. on human nature that spelling flames themselves    often contain
  20676. spelling errors.
  20677.  
  20678.    :spider food: n.  Keywords embedded (usually invisibly)    into a
  20679. web page to attract search engines (spiders). The intended    result of
  20680. including spider food in one's web page is to insure that    the page
  20681. appears high on the list of matching entries to a search    engine
  20682. query.  There are right and wrong ways to do this; the right    way is
  20683. a discreet `meta keywords' tag, the wrong way is to embed    many
  20684. repeats of a keyword in comments (and many search engines now    detect
  20685. and ignore the latter).
  20686.  
  20687.    :spiffy: /spi'fee/ adj.  1. Said of programs having a    pretty,
  20688. clever, or exceptionally well-designed interface. "Have    you seen the
  20689. spiffy {X} version of {empire} yet?"  2. Said    sarcastically of a
  20690. program that is perceived to have little more    than a flashy
  20691. interface going for it.  Which meaning should be    drawn depends
  20692. delicately on tone of voice and context.  This word    was common
  20693. mainstream slang during the 1940s, in a sense close to    1.
  20694.  
  20695.    :spike: v.  To defeat a selection mechanism by introducing a
  20696. (sometimes temporary) device that forces a specific result.  The
  20697. word is used in several industries; telephone engineers refer to
  20698. spiking a relay by inserting a pin to hold the relay in either the
  20699. closed or open state, and railroaders refer to spiking a track
  20700. switch so that it cannot be moved.  In programming environments it
  20701. normally refers to a temporary change, usually for testing purposes
  20702. (as opposed to a permanent change, which would be called
  20703. {hardwired}).
  20704.  
  20705.    :spin: vi.  Equivalent to {buzz}.  More common among C and    Unix
  20706. programmers.
  20707.  
  20708.    :spl: /S-P-L/  [abbrev, from Set Priority Level] The way
  20709. traditional Unix kernels implement mutual exclusion by running code
  20710. at high interrupt levels.  Used in jargon to describe the act of
  20711. tuning in or tuning out ordinary communication.  Classically, spl
  20712. levels run from 1 to 7; "Fred's at spl 6 today" would mean that    he
  20713. is very hard to interrupt.  "Wait till I finish this; I'll spl    down
  20714. then."  See also {interrupts locked out}.
  20715.  
  20716.    :splash screen: n.  [Mac users] Syn. {banner}, sense 3.
  20717.  
  20718.    :splat: n.  1. Name used in many places (DEC, IBM, and    others)
  20719. for the asterisk (`*') character (ASCII 0101010).     This may derive
  20720. from the `squashed-bug' appearance of the asterisk    on many early
  20721. line printers.  2. [MIT] Name used by some people for    the `#'
  20722. character (ASCII 0100011).  3. The {feature key}    on a Mac (same as
  20723. {alt}, sense 2).  4. obs. Name used by some    people for the
  20724. Stanford/ITS extended ASCII    circle-x    character.  This character
  20725. is also called `blobby' and `frob',    among other names; it is
  20726. sometimes used by mathematicians as a    notation for `tensor product'.
  20727. 5. obs. Name for the    semi-mythical Stanford extended ASCII
  20728. circle-plus    character.  See also {{ASCII}}.
  20729.  
  20730.    :spod: n.  [UK] 1. A lower form of life found on    {talker system}s
  20731. and {MUD}s.  The spod has few friends in    {RL} and uses talkers
  20732. instead, finding communication easier and    preferable over the net.
  20733. He has all the negative traits of the    {computer geek} without having
  20734. any interest in computers per se.     Lacking any knowledge of or
  20735. interest in how networks work, and    considering his access a
  20736. God-given right, he is a major irritant to    sysadmins, clogging up
  20737. lines in order to reach new MUDs, following    passed-on instructions
  20738. on how to sneak his way onto Internet    ("Wow!  It's in America!") and
  20739. complaining when he is not allowed    to use busy routes.  A true spod
  20740. will start any conversation with    "Are you male or female?" (and
  20741. follow it up with "Got any good    numbers/IDs/passwords?") and will
  20742. not talk to someone physically    present in the same terminal room
  20743. until they log onto the same    machine that he is using and enter talk
  20744. mode.  Compare {newbie},    {tourist}, {weenie}, {twink}, {terminal
  20745. junkie},    {warez d00dz}.  2. A {backronym} for "Sole Purpose, Obtain a
  20746.   Degree"; according to some self-described spods, this term is used
  20747. by indifferent students to condemn their harder-working    fellows.
  20748. Compare the defiant adoption of the term `geek' in the    mid-1990s by
  20749. people who would previously have been stigmatized by    it (see
  20750. {computer geek}). 3. [obs.] An ordinary person; a    {random}.  This is
  20751. the meaning with which the term was coined,    but the inventor informs
  20752. us he has himself accepted sense    1.
  20753.  
  20754.    :spoiler: n.  [Usenet] 1. A remark which reveals    important plot
  20755. elements from books or movies, thus denying the    reader (of the
  20756. article) the proper suspense when reading the book    or watching the
  20757. movie.  2. Any remark which telegraphs the solution    of a problem or
  20758. puzzle, thus denying the reader the pleasure of    working out the
  20759. correct answer (see also {interesting}).  Either    sense readily forms
  20760. compounds like `total spoiler',    `quasi-spoiler' and even
  20761. `pseudo-spoiler'.
  20762.  
  20763.    By convention, articles which are spoilers in either sense should
  20764. contain the word `spoiler' in the Subject: line, or guarantee via
  20765. various tricks that the answer appears only after several
  20766. screens-full of warning, or conceal the sensitive information via
  20767. {rot13}, or some combination of these techniques.
  20768.  
  20769.    :sponge: n.  [Unix] A special case of a {filter} that reads its
  20770. entire input before writing any output; the canonical example is a
  20771. sort utility.  Unlike most filters, a sponge can conveniently
  20772. overwrite the input file with the output data stream.  If a file
  20773. system has versioning (as ITS did and VMS does now) the
  20774. sponge/filter distinction loses its usefulness, because directing
  20775. filter output would just write a new version.  See also {slurp}.
  20776.  
  20777.    :spoof: vi.  To capture, alter, and retransmit a    communication
  20778. stream in a way that misleads the recipient.  As used    by hackers,
  20779. refers especially to altering TCP/IP packet source    addresses or
  20780. other packet-header data in order to masquerade as a    trusted
  20781. machine. This term has become very widespread and is    borderline
  20782. techspeak.
  20783.  
  20784.    :spool: vi.  [from early IBM `Simultaneous Peripheral    Operation
  20785. On-Line', but this acronym is widely thought to have been    contrived
  20786. for effect] To send files to some device or program (a    `spooler')
  20787. that queues them up and does something useful with    them later.
  20788. Without qualification, the spooler is the `print    spooler'
  20789. controlling output of jobs to a printer; but the term has    been used
  20790. in connection with other peripherals (especially plotters    and
  20791. graphics devices) and occasionally even for input devices.  See    also
  20792. {demon}.
  20793.  
  20794.    :spool file: n.  Any file to which data is {spool}ed to    await the
  20795. next stage of processing.  Especially used in    circumstances where
  20796. spooling the data copes with a mismatch between    speeds in two
  20797. devices or pieces of software.  For example, when you    send mail
  20798. under Unix, it's typically copied to a spool file to    await a
  20799. transport {demon}'s attentions.  This is borderline    techspeak.
  20800.  
  20801.    :spungle: n.  [Durham, UK; portmanteau, {spangle} +    bungle] A
  20802. {spangle} of no actual usefulness. Example: Roger the    Bent Paperclip
  20803. in Microsoft Word '98.  A spungle's only virtue is    that it looks
  20804. pretty, unless you find creeping featurism ugly.
  20805.  
  20806.    :square tape: n.  Mainframe magnetic tape cartridges for use    with
  20807. IBM 3480 or compatible tape drives; or QIC tapes used on
  20808. workstations and micros.  The term comes from the square (actually
  20809. rectangular) shape of the cartridges; contrast {round tape}.
  20810.  
  20811.    :squirrelcide: n.  [common on Usenet's comp.risks    newsgroup.]
  20812. (alt. `squirrelicide') What all too frequently happens    when a
  20813. squirrel decides to exercise its species's unfortunate    penchant for
  20814. shorting out power lines with their little furry    bodies.  Result:
  20815. one dead squirrel, one down computer installation.     In this
  20816. situation, the computer system is said to have been    squirrelcided.
  20817.  
  20818.    :stack: n.  The set of things a person has to do in the    future.
  20819. One speaks of the next project to be attacked as having    risen to the
  20820. top of the stack.  "I'm afraid I've got real work to    do, so this'll
  20821. have to be pushed way down on my stack."  "I    haven't done it yet
  20822. because every time I pop my stack something new    gets pushed."  If
  20823. you are interrupted several times in the middle    of a conversation,
  20824. "My stack overflowed" means "I forget what we    were talking about."
  20825. The implication is that more items were    pushed onto the stack than
  20826. could be remembered, so the least recent    items were lost.  The usual
  20827. physical example of a stack is to be    found in a cafeteria: a pile of
  20828. plates or trays sitting on a spring    in a well, so that when you put
  20829. one on the top they all sink down,    and when you take one off the top
  20830. the rest spring up a bit.  See    also {push} and {pop}.
  20831.  
  20832.    At MIT, {PDL} used to be a more common synonym for {stack} in    all
  20833. these contexts, and this may still be true.  Everywhere else    {stack}
  20834. seems to be the preferred term.  {Knuth}    ("The Art of Computer
  20835. Programming", second edition, vol. 1,    p. 236) says:
  20836.  
  20837.         Many people who realized the importance of stacks and queues
  20838.      independently have given other names to these structures:
  20839.      stacks have been called push-down lists, reversion storages,
  20840.      cellars, nesting stores, piles, last-in-first-out ("LIFO")
  20841.      lists, and even yo-yo lists!
  20842.  
  20843.    :stack puke: n.  Some processor architectures are said to    `puke
  20844. their guts onto the stack' to save their internal state    during
  20845. exception processing.  The Motorola 68020, for example,    regurgitates
  20846. up to 92 bytes on a bus fault.  On a pipelined    machine, this can
  20847. take a while.
  20848.  
  20849.    :stale pointer bug: n.  Synonym for {aliasing bug} used    esp.
  20850. among microcomputer hackers.
  20851.  
  20852.    :star out: v.  [University of York, England] To replace a    user's
  20853. encrypted password in /etc/passwd with a single    asterisk. Under Unix
  20854. this is not a legal encryption of any    password; hence the user is
  20855. not permitted to log in. In general,    accounts like adm, news, and
  20856. daemon are permanently "starred    out"; occasionally a real user might
  20857. have the this inflicted upon    him/her as a punishment, e.g. "Graham
  20858. was starred out for playing    Omega in working hours". Also
  20859. occasionally known as The Order Of    The Gold Star in this context.
  20860. "Don't do that, or you'll be    awarded the Order of the Gold Star..."
  20861. Compare {disusered}.
  20862.  
  20863.    :state: n.  1. Condition, situation.  "What's the state of    your
  20864. latest hack?"  "It's winning away."  "The system tried to    read and
  20865. write the disk simultaneously and got into a totally    {wedged}
  20866. state."  The standard question "What's your state?"     means "What are
  20867. you doing?" or "What are you about to do?"     Typical answers are
  20868. "about to gronk out", or "hungry".  Another    standard question is
  20869. "What's the state of the world?", meaning    "What's new?" or "What's
  20870. going on?".  The more terse and    humorous way of asking these
  20871. questions would be "State-p?".     Another way of phrasing the first
  20872. question under sense 1 would be    "state-p latest hack?".  2.
  20873. Information being maintained in    non-permanent memory (electronic or
  20874. human).
  20875.  
  20876.    :stealth manager: n.  [Corporate DP] A manager that appears    out
  20877. of nowhere, promises undeliverable software to unknown end    users,
  20878. and vanishes before the programming staff realizes what has
  20879. happened.  See {smoke and mirrors}.
  20880.  
  20881.    :steam-powered: adj.  Old-fashioned or underpowered; archaic.
  20882. This term does not have a strong negative loading and may even be
  20883. used semi-affectionately for something that clanks and wheezes a    lot
  20884. but hangs in there doing the job.
  20885.  
  20886.    :STFW: imp. /S-T-F-W/  [Usenet] Commmon abbreviation for    "Search
  20887. The Fucking Web", a suggestion that what you're asking    for is a
  20888. query better handled by a search engine than a human    being.  Usage
  20889. is common and exactly parallel to both senses of    {RTFM}.
  20890.  
  20891.    :stiffy: n.  [University of Lowell, Massachusetts.] 3.5-inch
  20892. {microfloppies}, so called because their jackets are more rigid    than
  20893. those of the 5.25-inch and the (now totally obsolete) 8-inch    floppy.
  20894. Elsewhere this might be called a `firmy'.
  20895.  
  20896.    :stir-fried random: n.  (alt. `stir-fried mumble') Term used    for
  20897. the best dish of many of those hackers who can cook.  Consists    of
  20898. random fresh veggies and meat wokked with random spices.  Tasty    and
  20899. economical.  See {random}, {great-wall}, {ravs},    {{laser chicken}},
  20900. {{oriental food}}; see also {mumble}.
  20901.  
  20902.    :stomp on: vt.  To inadvertently overwrite something    important,
  20903. usually automatically.  "All the work I did this    weekend got stomped
  20904. on last night by the nightly server script."     Compare {scribble},
  20905. {mangle}, {trash}, {scrog},    {roach}.
  20906.  
  20907.    :Stone Age: n.,adj.  1. In computer folklore, an ill-defined
  20908. period from ENIAC (ca. 1943) to the mid-1950s; the great age of
  20909. electromechanical {dinosaur}s.  Sometimes used for the entire    period
  20910. up to 1960-61 (see {Iron Age}); however, it is funnier    and more
  20911. descriptive to characterize the latter period in terms of    a `Bronze
  20912. Age' era of transistor-logic, pre-ferrite-{core}    machines with drum
  20913. or CRT mass storage (as opposed to just mercury    delay lines and/or
  20914. relays).  See also {Iron Age}.  2. More    generally, a pejorative for
  20915. any crufty, ancient piece of hardware    or software technology.  Note
  20916. that this is used even by people who    were there for the {Stone Age}
  20917. (sense 1).
  20918.  
  20919.    :stone knives and bearskins: n.  [from the Star Trek Classic
  20920. episode "The City on the Edge of Forever"] A term    traditionally used
  20921. to describe (and deprecate) computing    environments that are
  20922. grotesquely primitive in light of what is    known about good ways to
  20923. design things.  As in "Don't get too used    to the facilities here.
  20924. Once you leave SAIL it's stone knives and    bearskins as far as the
  20925. eye can see".  Compare {steam-powered}.
  20926.  
  20927.    :stoppage: /sto'p*j/ n.  Extreme {lossage} that renders    something
  20928. (usually something vital) completely unusable.  "The    recent system
  20929. stoppage was caused by a {fried}    transformer."
  20930.  
  20931.    :store: n.  [prob. from techspeak `main store'] In some    varieties
  20932. of Commonwealth hackish, the preferred synonym for    {core}.  Thus,
  20933. `bringing a program into store' means not that    one is returning
  20934. shrink-wrapped software but that a program is    being {swap}ped in.
  20935.  
  20936.    :strided: /stri:'d*d/ adj.  [scientific computing] Said of    a
  20937. sequence of memory reads and writes to addresses, each of which    is
  20938. separated from the last by a constant interval called the    `stride
  20939. length'.  These can be a worst-case access pattern for    the standard
  20940. memory-caching schemes when the stride length is a    multiple of the
  20941. cache line size.  Strided references are often    generated by loops
  20942. through an array, and (if your data is large    enough that access-time
  20943. is significant) it can be worthwhile to    tune for better locality by
  20944. inverting double loops or by partially    unrolling the outer loop of a
  20945. loop nest.  This usage is borderline    techspeak; the related term
  20946. `memory stride' is definitely    techspeak.
  20947.  
  20948.    :stroke: n.  Common name for the slant (`/', ASCII 0101111)
  20949. character.  See {ASCII} for other synonyms.
  20950.  
  20951.    :strudel: n.  Common (spoken) name for the at-sign (`@',    ASCII
  20952. 1000000) character.  See {ASCII} for other synonyms.
  20953.  
  20954.    :stubroutine: /stuhb'roo-teen/ n.  [contraction of `stub
  20955. subroutine'] Tiny, often vacuous placeholder for a subroutine that
  20956. is to be written or fleshed out later.
  20957.  
  20958.    :studly: adj.  Impressive; powerful.  Said of code and designs
  20959. which exhibit both complexity and a virtuoso flair.  Has
  20960. connotations similar to {hairy} but is more positive in tone.     Often
  20961. in the emphatic `most studly' or as noun-form    `studliness'.  "Smail
  20962. 3.0's configuration parser is most    studly."
  20963.  
  20964.    :studlycaps: /stuhd'lee-kaps/ n.  A hackish form of    silliness
  20965. similar to {BiCapitalization} for trademarks, but    applied randomly
  20966. and to arbitrary text rather than to trademarks.     ThE oRigiN and
  20967. SigNificaNce of thIs pRacTicE iS oBscuRe.
  20968.  
  20969.    :stunning: adj.  Mind-bogglingly stupid.  Usually used in
  20970. sarcasm.  "You want to code _what_ in ADA?  That's a ...     stunning
  20971. idea!"
  20972.  
  20973.    :stupid-sort: n.  Syn. {bogo-sort}.
  20974.  
  20975.    :Stupids: n.  Term used by {samurai} for the {suit}s who    employ
  20976. them; succinctly expresses an attitude at least as common,    though
  20977. usually better disguised, among other subcultures of    hackers.  There
  20978. may be intended reference here to an SF story    originally published
  20979. in 1952 but much anthologized since, Mark    Clifton's "Star, Bright".
  20980. In it, a super-genius child    classifies humans into a very few
  20981. `Brights' like herself, a huge    majority of `Stupids', and a minority
  20982. of `Tweens', the merely    ordinary geniuses.
  20983.  
  20984.    :Sturgeon's Law: prov.  "Ninety percent of everything is    crap".
  20985. Derived from a quote by science fiction author Theodore    Sturgeon,
  20986. who once said, "Sure, 90% of science fiction is crud.     That's
  20987. because 90% of everything is crud."  Oddly, when Sturgeon's    Law is
  20988. cited, the final word is almost invariably changed to    `crap'.
  20989. Compare {Hanlon's Razor}, {Ninety-Ninety Rule}.     Though this maxim
  20990. originated in SF fandom, most hackers recognize    it and are all too
  20991. aware of its truth.
  20992.  
  20993.    :sucking mud: adj.  [Applied Data Research] (also    `pumping mud')
  20994. Crashed or {wedged}.  Usually said of a machine    that provides some
  20995. service to a network, such as a file server.     This Dallas
  20996. regionalism derives from the East Texas oilfield    lament, "Shut 'er
  20997. down, Ma, she's a-suckin' mud".  Often used as    a query.  "We are
  20998. going to reconfigure the network, are you ready    to suck mud?"
  20999.  
  21000.    :sufficiently small: adj.  Syn. {suitably small}.
  21001.  
  21002.    :suit: n.  1. Ugly and uncomfortable `business    clothing' often
  21003. worn by non-hackers.  Invariably worn with a    `tie', a strangulation
  21004. device that partially cuts off the blood    supply to the brain.  It is
  21005. thought that this explains much about    the behavior of suit-wearers.
  21006. Compare {droid}.  2. A person who    habitually wears suits, as
  21007. distinct from a techie or hacker.  See    {pointy-haired}, {burble},
  21008. {management}, {Stupids},    {SNAFU principle}, {PHB}, and
  21009. {brain-damaged}.
  21010.  
  21011.    :suitable win: n.  See {win}.
  21012.  
  21013.    :suitably small: adj.  [perverted from mathematical jargon]     An
  21014. expression used ironically to characterize unquantifiable    behavior
  21015. that differs from expected or required behavior.  For    example,
  21016. suppose a newly created program came up with a correct    full-screen
  21017. display, and one publicly exclaimed: "It works!"     Then, if the
  21018. program dumped core on the first mouse click, one    might add: "Well,
  21019. for suitably small values of `works'."     Compare the characterization
  21020. of pi under {{random    numbers}}.
  21021.  
  21022.    :sun lounge: n.  [UK] The room where all the Sun workstations live.
  21023.   The humor in this term comes from the fact that it's also in
  21024. mainstream use to describe a solarium, and all those Sun
  21025. workstations clustered together give off an amazing amount of heat.
  21026.  
  21027.    :sun-stools: n.  Unflattering hackerism for SunTools, a pre-X
  21028. windowing environment notorious in its day for size, slowness, and
  21029. misfeatures.  {X}, however, is larger and slower; see    {second-system
  21030. effect}.
  21031.  
  21032.    :sunspots: n.  1. Notional cause of an odd error.  "Why did    the
  21033. program suddenly turn the screen blue?"  "Sunspots, I    guess."  2.
  21034. Also the cause of {bit rot} -- from the myth that    sunspots will
  21035. increase {cosmic rays}, which can flip single bits    in memory.  See
  21036. also {phase of the moon}.
  21037.  
  21038.    :super source quench: n.  A special packet designed to shut up    an
  21039. Internet host.  The Internet Protocol (IP) has a control message
  21040. called Source Quench that asks a host to transmit more slowly on a
  21041. particular connection to avoid congestion.  It also has a Redirect
  21042. control message intended to instruct a host to send certain packets
  21043. to a different local router.  A "super source quench" is actually    a
  21044. redirect control packet, forged to look like it came from a local
  21045. router, that instructs a host to send all packets to its own local
  21046. loopback address.  This will effectively tie many Internet hosts up
  21047. in knots.  Compare {Godzillagram}, {breath-of-life    packet}.
  21048.  
  21049.    :superloser: n.  [Unix] A superuser with no clue - someone    with
  21050. root privileges on a Unix system and no idea what he/she is    doing,
  21051. the moral equivalent of a three-year-old with an unsafetied    Uzi.
  21052. Anyone who thinks this is an uncommon situation reckons    without the
  21053. territorial urges of {management}.
  21054.  
  21055.    :superprogrammer: n.  A prolific programmer; one who can code
  21056. exceedingly well and quickly.  Not all hackers are    superprogrammers,
  21057. but many are.  (Productivity can vary from one    programmer to another
  21058. by three orders of magnitude.  For example,    one programmer might be
  21059. able to write an average of 3 lines of    working code in one day,
  21060. while another, with the proper tools,    might be able to write 3,000.
  21061. This range is astonishing; it is    matched in very few other areas of
  21062. human endeavor.)  The term    `superprogrammer' is more commonly used
  21063. within such places as IBM    than in the hacker community.  It tends to
  21064. stress naive measures of    productivity and to underweight creativity,
  21065. ingenuity, and getting    the job _done_ -- and to sidestep the
  21066. question of whether the    3,000 lines of code do more or less useful
  21067. work than three lines    that do the {Right Thing}.  Hackers tend to
  21068. prefer the terms    {hacker} and {wizard}.
  21069.  
  21070.    :superuser: n.  [Unix] Syn. {root}, {avatar}.  This usage has
  21071. spread to non-Unix environments; the superuser is any account with
  21072. all {wheel} bits on.  A more specific term than {wheel}.
  21073.  
  21074.    :support: n.  After-sale handholding; something many software
  21075. vendors promise but few deliver.  To hackers, most support people
  21076. are useless -- because by the time a hacker calls support he or    she
  21077. will usually know the software and the relevant manuals better    than
  21078. the support people (sadly, this is _not_ a joke or    exaggeration).  A
  21079. hacker's idea of `support' is a    te^te-a`-te^te with the software's
  21080. designer.
  21081.  
  21082.    :surf: v.  [from the `surf' idiom for rapidly flipping TV
  21083. channels] To traverse the Internet in search of interesting stuff,
  21084. used esp. if one is doing so with a World Wide Web browser.  It is
  21085. also common to speak of `surfing in' to a particular resource.
  21086.  
  21087.    Hackers adopted this term early, but many have stopped using it
  21088. since it went completely mainstream around 1995.  The passive,
  21089. couch-potato connotations that go with TV channel surfing were    never
  21090. pleasant, and hearing non-hackers wax enthusiastic about    "surfing
  21091. the net" tends to make hackers feel a bit as though    their home is
  21092. being overrun by ignorami.
  21093.  
  21094.    :Suzie COBOL: /soo'zee koh'bol/  1. [IBM: prob. from Frank
  21095. Zappa's `Suzy Creamcheese'] n. A coder straight out of training
  21096. school who knows everything except the value of comments in plain
  21097. English.  Also (fashionable among personkind wishing to avoid
  21098. accusations of sexism) `Sammy Cobol' or (in some non-IBM circles)
  21099. `Cobol Charlie'.  2. [proposed] Meta-name for any {code    grinder},
  21100. analogous to {J. Random Hacker}.
  21101.  
  21102.    :swab: /swob/  [From the mnemonic for the PDP-11 `SWAp Byte'
  21103. instruction, as immortalized in the `dd(1)' option    `conv=swab' (see
  21104. {dd})] 1. vt. To solve the {NUXI    problem} by swapping bytes in a
  21105. file.  2. n. The program in V7 Unix    used to perform this action, or
  21106. anything functionally equivalent to    it.  See also {big-endian},
  21107. {little-endian},    {middle-endian}, {bytesexual}.
  21108.  
  21109.    :swap: vt.  1. [techspeak] To move information from a    fast-access
  21110. memory to a slow-access memory (`swap out'), or vice    versa (`swap
  21111. in').  Often refers specifically to the use of disks    as `virtual
  21112. memory'.  As pieces of data or program are needed,    they are swapped
  21113. into {core} for processing; when they are no    longer needed they may
  21114. be swapped out again.  2. The jargon use of    these terms analogizes
  21115. people's short-term memories with core.     Cramming for an exam might
  21116. be spoken of as swapping in.  If you    temporarily forget someone's
  21117. name, but then remember it, your    excuse is that it was swapped out.
  21118. To `keep something swapped    in' means to keep it fresh in your
  21119. memory: "I reread the TECO    manual every few months to keep it
  21120. swapped in."  If someone    interrupts you just as you got a good idea,
  21121. you might say "Wait a    moment while I swap this out", implying that a
  21122. piece of paper is    your extra-somatic memory and that if you don't
  21123. swap the idea out    by writing it down it will get overwritten and
  21124. lost as you talk.     Compare {page in}, {page out}.
  21125.  
  21126.    :swap space: n.  Storage space, especially temporary storage
  21127. space used during a move or reconfiguration.  "I'm just using that
  21128. corner of the machine room for swap space."
  21129.  
  21130.    :swapped in: n.  See {swap}.  See also {page in}.
  21131.  
  21132.    :swapped out: n.  See {swap}.  See also {page out}.
  21133.  
  21134.    :swizzle: v.  To convert external names, array indices, or
  21135. references within a data structure into address pointers when the
  21136. data structure is brought into main memory from external storage
  21137. (also called `pointer swizzling'); this may be done for speed in
  21138. chasing references or to simplify code (e.g., by turning lots of
  21139. name lookups into pointer dereferences).  The converse operation is
  21140. sometimes termed `unswizzling'.  See also {snap}.
  21141.  
  21142.    :sync: /sink/ n., vi.  (var. `synch') 1. To synchronize,    to bring
  21143. into synchronization.  2. [techspeak] To force all pending    I/O to
  21144. the disk; see {flush}, sense 2.  3. More generally, to    force a
  21145. number of competing processes or agents to a state that    would be
  21146. `safe' if the system were to crash; thus, to checkpoint    (in the
  21147. database-theory sense).
  21148.  
  21149.    :syntactic salt: n.  The opposite of {syntactic sugar}, a    feature
  21150. designed to make it harder to write bad code.     Specifically,
  21151. syntactic salt is a hoop the programmer must jump    through just to
  21152. prove that he knows what's going on, rather than to    express a
  21153. program action.  Some programmers consider required type
  21154. declarations to be syntactic salt.  A requirement to write    `end if',
  21155. `end while', `end do', etc. to terminate    the last block controlled
  21156. by a control construct (as opposed to    just `end') would definitely
  21157. be syntactic salt.  Syntactic    salt is like the real thing in that it
  21158. tends to raise hackers'    blood pressures in an unhealthy way.
  21159. Compare {candygrammar}.
  21160.  
  21161.    :syntactic sugar: n.  [coined by Peter Landin] Features added    to
  21162. a language or other formalism to make it `sweeter' for    humans,
  21163. features which do not affect the expressiveness of the    formalism
  21164. (compare {chrome}).  Used esp. when there is an    obvious and trivial
  21165. translation of the `sugar' feature into    other constructs already
  21166. present in the notation.  C's `a[i]'    notation is syntactic sugar for
  21167. `*(a + i)'.  "Syntactic sugar    causes cancer of the semicolon." --
  21168. Alan Perlis.
  21169.  
  21170.    The variants `syntactic saccharin' and `syntactic syrup' are    also
  21171. recorded.  These denote something even more gratuitous, in    that
  21172. syntactic sugar serves a purpose (making something more    acceptable
  21173. to humans), but syntactic saccharin or syrup serve no    purpose at
  21174. all.  Compare {candygrammar}, {syntactic salt}.
  21175.  
  21176.    :sys-frog: /sis'frog/ n.  [the PLATO system] Playful variant    of
  21177. `sysprog', which is in turn short for `systems programmer'.
  21178.  
  21179.    :sysadmin: /sis'ad-min/ n.  Common contraction of `system    admin';
  21180. see {admin}.
  21181.  
  21182.    :sysape: /sys'ayp/ n.  A rather derogatory term for a    computer
  21183. operator; a play on {sysop} common at sites that use    the banana
  21184. hierarchy of problem complexity (see {one-banana    problem}).
  21185.  
  21186.    :sysop: /sis'op/ n.  [esp. in the BBS world] The operator    (and
  21187. usually the owner) of a bulletin-board system.  A common    neophyte
  21188. mistake on {FidoNet} is to address a message to    `sysop' in an
  21189. international {echo}, thus sending it to    hundreds of sysops around
  21190. the world.
  21191.  
  21192.    :system: n.  1. The supervisor program or OS on a computer.     2.
  21193. The entire computer system, including input/output devices, the
  21194. supervisor program or OS, and possibly other software.  3. Any
  21195. large-scale program.  4. Any method or algorithm.  5. `System
  21196. hacker': one who hacks the system (in senses 1 and 2 only; for    sense
  21197. 3 one mentions the particular program: e.g., `LISP hacker')
  21198.  
  21199.    :systems jock: n.  See {jock}, sense 2.
  21200.  
  21201.    :system mangler: n.  Humorous synonym for `system manager',    poss.
  21202. from the fact that one major IBM OS had a {root} account    called
  21203. SYSMANGR.  Refers specifically to a systems programmer in    charge of
  21204. administration, software maintenance, and updates at some    site.
  21205. Unlike {admin}, this term emphasizes the technical end of    the skills
  21206. involved.
  21207.  
  21208.    :SysVile: /sis-vi:l'/ n.  See {Missed'em-five}.
  21209.  
  21210. = T =
  21211. =====
  21212.  
  21213.    :T: /T/  1. [from LISP terminology for `true'] Yes.  Used    in
  21214. reply to a question (particularly one asked using {The -P
  21215. convention}).  In LISP, the constant T means `true', among other
  21216. things.  Some Lisp hackers use `T' and `NIL' instead of `Yes' and
  21217. `No' almost reflexively.  This sometimes causes misunderstandings.
  21218. When a waiter or flight attendant asks whether a hacker wants
  21219. coffee, he may absently respond `T', meaning that he wants coffee;
  21220. but of course he will be brought a cup of tea instead.     Fortunately,
  21221. most hackers (particularly those who frequent Chinese    restaurants)
  21222. like tea at least as well as coffee -- so it is not    that big a
  21223. problem.  2. See {time T} (also {since time T    equals minus
  21224. infinity}).  3. [techspeak] In transaction-processing    circles, an
  21225. abbreviation for the noun `transaction'.  4. [Purdue]    Alternate
  21226. spelling of {tee}.  5. A dialect of {LISP}    developed at Yale. (There
  21227. is an intended allusion to NIL, "New    Implementation of Lisp",
  21228. another dialect of Lisp developed for the    {VAX})
  21229.  
  21230.    :tail recursion: n.  If you aren't sick of it already, see    {tail
  21231. recursion}.
  21232.  
  21233.    :talk mode: n.  A feature supported by Unix, ITS, and some    other
  21234. OSes that allows two or more logged-in users to set up a    real-time
  21235. on-line conversation.  It combines the immediacy of    talking with all
  21236. the precision (and verbosity) that written    language entails.  It is
  21237. difficult to communicate inflection,    though conventions have arisen
  21238. for some of these (see the section    on writing style in the
  21239. Prependices for details).
  21240.  
  21241.    Talk mode has a special set of jargon words, used to save typing,
  21242. which are not used orally.  Some of these are identical to (and
  21243. probably derived from) Morse-code jargon used by ham-radio amateurs
  21244. since the 1920s.
  21245.  
  21246. AFAIK
  21247.      as far as I know
  21248.  
  21249. BCNU
  21250.      be seeing you
  21251.  
  21252. BTW
  21253.      by the way
  21254.  
  21255. BYE?
  21256.      are you ready to unlink?  (this is the standard way to end a
  21257.      talk-mode conversation; the other person types `BYE' to confirm,
  21258.      or else continues the conversation)
  21259.  
  21260. CUL
  21261.      see you later
  21262.  
  21263. ENQ?
  21264.      are you busy?  (expects `ACK' or `NAK' in return)
  21265.  
  21266. FOO?
  21267.      are you there? (often used on unexpected links, meaning also
  21268.      "Sorry if I butted in ..." (linker) or "What's up?"  (linkee))
  21269.  
  21270. FWIW
  21271.      for what it's worth
  21272.  
  21273. FYI
  21274.      for your information
  21275.  
  21276. FYA
  21277.      for your amusement
  21278.  
  21279. GA
  21280.      go ahead  (used when two people have tried to type simultaneously;
  21281.      this cedes the right to type to the other)
  21282.  
  21283. GRMBL
  21284.      grumble (expresses disquiet or disagreement)
  21285.  
  21286. HELLOP
  21287.      hello? (an instance of the `-P' convention)
  21288.  
  21289. IIRC
  21290.      if I recall correctly
  21291.  
  21292. JAM
  21293.      just a minute (equivalent to `SEC....')
  21294.  
  21295. MIN
  21296.      same as `JAM'
  21297.  
  21298. NIL
  21299.      no (see {NIL})
  21300.  
  21301. NP
  21302.      no problem
  21303.  
  21304. O
  21305.      over to you
  21306.  
  21307. OO
  21308.      over and out
  21309.  
  21310. /
  21311.      another form of "over to you" (from x/y as "x over y")
  21312.  
  21313. \
  21314.      lambda (used in discussing LISPy things)
  21315.  
  21316. OBTW
  21317.      oh, by the way
  21318.  
  21319. OTOH
  21320.      on the other hand
  21321.  
  21322. R U THERE?
  21323.      are you there?
  21324.  
  21325. SEC
  21326.      wait a second (sometimes written `SEC...')
  21327.  
  21328. SYN
  21329.      Are you busy? (expects ACK, SYN|ACK, or RST in return; this is
  21330.      modeled on the TCP/IP handshake sequence)
  21331.  
  21332. T
  21333.      yes (see the main entry for {T})
  21334.  
  21335. TNX
  21336.      thanks
  21337.  
  21338. TNX 1.0E6
  21339.      thanks a million (humorous)
  21340.  
  21341. TNXE6
  21342.      another form of "thanks a million"
  21343.  
  21344. WRT
  21345.      with regard to, or with respect to.
  21346.  
  21347. WTF
  21348.      the universal interrogative particle; WTF knows what it means?
  21349.  
  21350. WTH
  21351.      what the hell?
  21352.  
  21353. <double newline>
  21354.      When the typing party has finished, he/she types two newlines to
  21355.      signal that he/she is done; this leaves a blank line between
  21356.      `speeches' in the conversation, making it easier to reread the
  21357.      preceding text.
  21358.  
  21359. <name>:
  21360.      When three or more terminals are linked, it is conventional for
  21361.      each typist to {prepend} his/her login name or handle and a colon
  21362.      (or a hyphen) to each line to indicate who is typing (some
  21363.      conferencing facilities do this automatically).  The login name is
  21364.      often shortened to a unique prefix (possibly a single letter)
  21365.      during a very long conversation.
  21366.  
  21367. /\/\/\
  21368.      A giggle or chuckle.  On a MUD, this usually means `earthquake
  21369.      fault'.
  21370.  
  21371. Most of the above sub-jargon is used at both Stanford and MIT.
  21372. Several of these expressions are also common in {email}, esp.     FYI,
  21373. FYA, BTW, BCNU, WTF, and CUL.  A few other abbreviations have    been
  21374. reported from commercial networks, such as GEnie and    CompuServe,
  21375. where on-line `live' chat including more than two    people is common
  21376. and usually involves a more `social' context,    notably the following:
  21377.  
  21378. <g>
  21379.      grin
  21380.  
  21381. <gr&d>
  21382.      grinning, running, and ducking
  21383.  
  21384. BBL
  21385.      be back later
  21386.  
  21387. BRB
  21388.      be right back
  21389.  
  21390. HHOJ
  21391.      ha ha only joking
  21392.  
  21393. HHOK
  21394.      ha ha only kidding
  21395.  
  21396. HHOS
  21397.      {ha ha only serious}
  21398.  
  21399. IMHO
  21400.      in my humble opinion (see {IMHO})
  21401.  
  21402. LOL
  21403.      laughing out loud
  21404.  
  21405. NHOH
  21406.      Never Heard of Him/Her (often used in {initgame})
  21407.  
  21408. ROTF
  21409.      rolling on the floor
  21410.  
  21411. ROTFL
  21412.      rolling on the floor laughing
  21413.  
  21414. AFK
  21415.      away from keyboard
  21416.  
  21417. b4
  21418.      before
  21419.  
  21420. CU l8tr
  21421.      see you later
  21422.  
  21423. MORF
  21424.      male or female?
  21425.  
  21426. TTFN
  21427.      ta-ta for now
  21428.  
  21429. TTYL
  21430.      talk to you later
  21431.  
  21432. OIC
  21433.      oh, I see
  21434.  
  21435. rehi
  21436.      hello again
  21437.  
  21438. Most of these are not used at universities or in the Unix world,
  21439. though ROTF and TTFN have gained some currency there and IMHO is
  21440. common; conversely, most of the people who know these are    unfamiliar
  21441. with FOO?, BCNU, HELLOP, {NIL}, and {T}.
  21442.  
  21443.    The {MUD} community uses a mixture of Usenet/Internet emoticons,
  21444. a few of the more natural of the old-style talk-mode abbrevs, and
  21445. some of the `social' list above; specifically, MUD respondents
  21446. report use of BBL, BRB, LOL, b4, BTW, WTF, TTFN, and WTH.  The use
  21447. of `rehi' is also common; in fact, mudders are fond of re-    compounds
  21448. and will frequently `rehug' or `rebonk' (see    {bonk/oif}) people.
  21449. The word `re' by itself is taken as    `regreet'.  In general, though,
  21450. MUDders express a preference for    typing things out in full rather
  21451. than using abbreviations; this may    be due to the relative youth of
  21452. the MUD cultures, which tend to    include many touch typists and to
  21453. assume high-speed links.  The    following uses specific to MUDs are
  21454. reported:
  21455.  
  21456. CU l8er
  21457.      see you later (mutant of `CU l8tr')
  21458.  
  21459. FOAD
  21460.      fuck off and die (use of this is generally OTT)
  21461.  
  21462. OTT
  21463.      over the top (excessive, uncalled for)
  21464.  
  21465. ppl
  21466.      abbrev for "people"
  21467.  
  21468. THX
  21469.      thanks (mutant of `TNX'; clearly this comes in batches of 1138 (the
  21470.      Lucasian K)).
  21471.  
  21472. UOK?
  21473.      are you OK?
  21474.  
  21475. Some {B1FF}isms (notably the variant spelling `d00d')    appear to be
  21476. passing into wider use among some subgroups of    MUDders.
  21477.  
  21478.    One final note on talk mode style: neophytes, when in talk mode,
  21479. often seem to think they must produce letter-perfect prose because
  21480. they are typing rather than speaking.  This is not the best
  21481. approach.  It can be very frustrating to wait while your partner
  21482. pauses to think of a word, or repeatedly makes the same spelling
  21483. error and backs up to fix it.  It is usually best just to leave
  21484. typographical errors behind and plunge forward, unless severe
  21485. confusion may result; in that case it is often fastest just to type
  21486. "xxx" and start over from before the mistake.
  21487.  
  21488.    See also {hakspek}, {emoticon}.
  21489.  
  21490.    :talker system: n.  British hackerism for software that    enables
  21491. real-time chat or {talk mode}.
  21492.  
  21493.    :tall card: n.  A PC/AT-size expansion card (these can be    larger
  21494. than IBM PC or XT cards because the AT case is bigger).  See    also
  21495. {short card}.  When IBM introduced the PS/2 model 30 (its    last gasp
  21496. at supporting the ISA) they made the case lower and many
  21497. industry-standard tall cards wouldn't fit; this was felt to be a
  21498. reincarnation of the {connector conspiracy}, done with less    style.
  21499.  
  21500.    :tanked: adj.  Same as {down}, used primarily by Unix    hackers.
  21501. See also {hosed}.  Popularized as a synonym for    `drunk' by Steve
  21502. Dallas in the late lamented "Bloom County"    comic strip.
  21503.  
  21504.    :TANSTAAFL: /tan'stah-fl/  [acronym, from Robert Heinlein's
  21505. classic "The Moon is a Harsh Mistress".]  "There Ain't No    Such Thing
  21506. As A Free Lunch", often invoked when someone is balking    at the
  21507. prospect of using an unpleasantly {heavyweight}    technique, or at the
  21508. poor quality of some piece of software, or at    the {signal-to-noise
  21509. ratio} of unmoderated Usenet newsgroups.     "What? Don't tell me I
  21510. have to implement a database back end to    get my address book program
  21511. to work!"  "Well, TANSTAAFL you    know."  This phrase owes some of its
  21512. popularity to the high    concentration of science-fiction fans and
  21513. political libertarians in    hackerdom (see {Appendix B} for
  21514. discussion).
  21515.  
  21516.    :tape monkey: n.  A junior system administrator, one who    might
  21517. plausibly be assigned to do physical swapping of tapes and
  21518. subsequent storage.  When a backup needs to be restored, one might
  21519. holler "Tape monkey!" (Compare {one-banana problem})  Also used    to
  21520. dismiss jobs not worthy of a highly trained sysadmin's ineffable
  21521. talents: "Cable up her PC? You must be joking - I'm no tape    monkey."
  21522.  
  21523.    :tar and feather: vi.  [from Unix `tar(1)'] To create a
  21524. transportable archive from a group of files by first sticking them
  21525. together with `tar(1)' (the Tape ARchiver) and then    compressing the
  21526. result (see {compress}).  The latter action is    dubbed `feathering'
  21527. partly for euphony and (if only for contrived    effect) by analogy to
  21528. what you do with an airplane propeller to    decrease wind resistance,
  21529. or with an oar to reduce water    resistance; smaller files, after all,
  21530. slip through comm links more    easily.  Compare the more common
  21531. {tarball}.
  21532.  
  21533.    :tarball: n.  [very common; prob. based on the "tar    baby" in the
  21534. Uncle Remus folk tales] An archive, created with the    Unix tar(1)
  21535. utility, containing myriad related files.  "Here, I'll    just ftp you
  21536. a tarball of the whole project."  Tarballs have been    the standard
  21537. way to ship around source-code distributions since the    mid-1980s; in
  21538. retrospect it seems odd that this term did not enter    common usage
  21539. until the late 1990s.
  21540.  
  21541.    :taste: [primarily MIT] n.  1. The quality in a program that
  21542. tends to be inversely proportional to the number of features,    hacks,
  21543. and kluges programmed into it.  Also `tasty',    `tasteful',
  21544. `tastefulness'.  "This feature comes in N    tasty flavors."  Although
  21545. `tasty' and `flavorful' are    essentially synonyms, `taste' and
  21546. {flavor} are not.  Taste    refers to sound judgment on the part of the
  21547. creator; a program or    feature can _exhibit_ taste but cannot _have_
  21548. taste.  On    the other hand, a feature can have {flavor}.  Also,
  21549. {flavor}    has the additional meaning of `kind' or `variety' not
  21550. shared by    `taste'.  The marked sense of {flavor} is more popular than
  21551.   `taste', though both are widely used.  See also {elegant}.     2.
  21552. Alt. sp. of {tayste}.
  21553.  
  21554.    :tayste: /tayst/  n. Two bits; also as {taste}.     Syn. {crumb},
  21555. {quarter}.  See {nybble}.
  21556.  
  21557.    :TCB: /T-C-B/ n.   [IBM] 1. Trouble Came Back.  An    intermittent
  21558. or difficult-to-reproduce problem that has failed to    respond to
  21559. neglect or {shotgun debugging}.  Compare    {heisenbug}.  Not to be
  21560. confused with: 2. Trusted Computing    Base, an `official' jargon term
  21561. from the {Orange Book}.
  21562.  
  21563.    :TCP/IP: /T'C-P I'P/ n.  1. [Transmission Control
  21564. Protocol/Internet Protocol] The wide-area-networking protocol that
  21565. makes the Internet work, and the only one most hackers can speak    the
  21566. name of without laughing or retching.  Unlike such allegedly
  21567. `standard' competitors such as X.25, DECnet, and the ISO 7-layer
  21568. stack, TCP/IP evolved primarily by actually being _used_,    rather
  21569. than being handed down from on high by a vendor or a
  21570. heavily-politicized standards committee.  Consequently, it (a)
  21571. works, (b) actually promotes cheap cross-platform connectivity, and
  21572. (c) annoys the hell out of corporate and governmental
  21573. empire-builders everywhere.  Hackers value all three of these
  21574. properties. See {creationism}.  2.  [Amateur Packet Radio]    Formerly
  21575. expanded as "The Crap Phil Is Pushing".  The reference    is to Phil
  21576. Karn, KA9Q, and the context was an ongoing    technical/political war
  21577. between the majority of sites still running    AX.25 and the TCP/IP
  21578. relays. TCP/IP won.
  21579.  
  21580.    :TechRef: /tek'ref/ n.  [MS-DOS] The original "IBM PC    Technical
  21581. Reference Manual", including the BIOS listing and    complete
  21582. schematics for the PC.  The only PC documentation in the
  21583. original-issue package that was considered serious by real    hackers.
  21584.  
  21585.    :TECO: /tee'koh/ n.,v. obs.  1. [originally an acronym for
  21586. `[paper] Tape Editor and COrrector'; later, `Text Editor and
  21587. COrrector'] n. A text editor developed at MIT and modified by just
  21588. about everybody.  With all the dialects included, TECO may have    been
  21589. the most prolific editor in use before {EMACS}, to which it    was
  21590. directly ancestral.  Noted for its powerful
  21591. programming-language-like features and its unspeakably hairy    syntax.
  21592. It is literally the case that every string of characters    is a valid
  21593. TECO program (though probably not a useful one); one    common game
  21594. used to be mentally working out what the TECO commands    corresponding
  21595. to human names did.  2. vt. Originally, to edit using    the TECO
  21596. editor in one of its infinite variations (see below).     3. vt.,obs.
  21597. To edit even when TECO is _not_ the editor being    used!  This usage
  21598. is rare and now primarily historical.
  21599.  
  21600.    As an example of TECO's obscurity, here is a TECO program that
  21601. takes a list of names such as:
  21602.  
  21603.      Loser, J. Random
  21604.      Quux, The Great
  21605.      Dick, Moby
  21606.  
  21607. sorts them alphabetically according to surname, and then puts the
  21608. surname last, removing the comma, to produce the following:
  21609.  
  21610.      Moby Dick
  21611.      J. Random Loser
  21612.      The Great Quux
  21613.  
  21614. The program is
  21615.  
  21616.      [1 J^P$L$$
  21617.      J <.-Z; .,(S,$ -D .)FX1 @F^B $K :L I $ G1 L>$$
  21618.  
  21619. (where ^B means `Control-B' (ASCII 0000010) and $ is actually    an
  21620. {alt} or escape (ASCII 0011011) character).
  21621.  
  21622.    In fact, this very program was used to produce the second, sorted
  21623. list from the first list.  The first hack at it had a {bug}: GLS
  21624. (the author) had accidentally omitted the `@' in front    of `F^B',
  21625. which as anyone can see is clearly the {Wrong Thing}.  It    worked
  21626. fine the second time.  There is no space to describe all the
  21627. features of TECO, but it may be of interest that `^P' means    `sort'
  21628. and `J<.-Z; ... L>' is an idiomatic series of commands    for `do once
  21629. for every line'.
  21630.  
  21631.    In mid-1991, TECO is pretty much one with the dust of history,
  21632. having been replaced in the affections of hackerdom by {EMACS}.
  21633. Descendants of an early (and somewhat lobotomized) version adopted
  21634. by DEC can still be found lurking on VMS and a couple of crufty
  21635. PDP-11 operating systems, however, and ports of the more advanced
  21636. MIT versions remain the focus of some antiquarian interest.  See
  21637. also {retrocomputing}, {write-only language}.
  21638.  
  21639.    :tee: n.,vt.  [Purdue] A carbon copy of an electronic
  21640. transmission.  "Oh, you're sending him the {bits} to that?     Slap on
  21641. a tee for me."  From the Unix command `tee(1)',    itself named after a
  21642. pipe fitting (see {plumbing}).  Can also    mean `save one for me', as
  21643. in "Tee a slice for me!"  Also    spelled `T'.
  21644.  
  21645.    :teergrube: /teer'groob/ n.  [German for `tar pit'] A    trap set to
  21646. punish spammers who use an {address harvester}; a    mail server
  21647. deliberately set up to be really, really slow.  To    activate it,
  21648. scatter addresses that look like users on the teergrube's    host in
  21649. places where the address harvester will be trolling (one    popular way
  21650. is to embed the fake address in a Usenet sig block next    to a
  21651. human-readable warning not to send mail to it).  The address
  21652. harvester will dutifully collect the address.  When the spammer
  21653. tries to mailbomb it, his mailer will get stuck.
  21654.  
  21655.    :teledildonics: /tel`*-dil-do'-niks/ n.  Sex in a computer
  21656. simulated virtual reality, esp. computer-mediated sexual    interaction
  21657. between the {VR} presences of two humans.  This    practice is not yet
  21658. possible except in the rather limited form of    erotic conversation on
  21659. {MUD}s and the like.  The term, however,    is widely recognized in the
  21660. VR community as a {ha ha only    serious} projection of things to come.
  21661. "When we can sustain a    multi-sensory surround good enough for
  21662. teledildonics, _then_    we'll know we're getting somewhere." See also
  21663. {hot chat}.
  21664.  
  21665.    :Telerat: /tel'*-rat/ n. obs.  Unflattering hackerism for
  21666. `Teleray', a now-extinct line of extremely losing terminals.
  21667. Compare {AIDX}, {Macintrash} {Nominal Semidestructor},    {ScumOS},
  21668. {sun-stools}, {HP-SUX}, {Slowlaris}.
  21669.  
  21670.    :TELNET: /tel'net/ vt.  (also commonly lowercased as    `telnet') To
  21671. communicate with another Internet host using the    TELNET ({RFC} 854)
  21672. protocol (usually using a program of the same    name).  TOPS-10 people
  21673. used the word IMPCOM, since that was the    program name for them.
  21674. Sometimes abbreviated to TN /T-N/.  "I    usually TN over to SAIL just
  21675. to read the AP News."
  21676.  
  21677.    :ten-finger interface: n.  The interface between two networks
  21678. that cannot be directly connected for security reasons; refers to
  21679. the practice of placing two terminals side by side and having an
  21680. operator read from one and type into the other.
  21681.  
  21682.    :tense: adj.  Of programs, very clever and efficient.  A tense
  21683. piece of code often got that way because it was highly {bum}med,    but
  21684. sometimes it was just based on a great idea.  A comment in a    clever
  21685. routine by Mike Kazar, once a grad-student hacker at CMU:    "This
  21686. routine is so tense it will bring tears to your eyes."  A    tense
  21687. programmer is one who produces tense code.
  21688.  
  21689.    :tentacle: n.  A covert {pseudo}, sense 1.  An artificial
  21690. identity created in cyberspace for nefarious and deceptive    purposes.
  21691. The implication is that a single person may have    multiple
  21692. tentacles.  This term was originally floated in some    paranoid
  21693. ravings on the cypherpunks list (see {cypherpunk}), and    adopted in a
  21694. spirit of irony by other, saner members. It has since    shown up, used
  21695. seriously, in the documentation for some remailer    software, and is
  21696. now (1994) widely recognized on the net.
  21697.  
  21698.    :tenured graduate student: n.  One who has been in graduate
  21699. school for 10 years (the usual maximum is 5 or 6): a `ten-yeared'
  21700. student (get it?).  Actually, this term may be used of any grad
  21701. student beginning in his seventh year.  Students don't really get
  21702. tenure, of course, the way professors do, but a tenth-year graduate
  21703. student has probably been around the university longer than any
  21704. untenured professor.
  21705.  
  21706.    :tera-: /te'r*/ pref.  [SI] See {{quantifiers}}.
  21707.  
  21708.    :teraflop club: /te'r*-flop kluhb/ n.  [FLOP = Floating    Point
  21709. Operation] A mythical association of people who consume    outrageous
  21710. amounts of computer time in order to produce a few    simple pictures
  21711. of glass balls with intricate ray-tracing    techniques.  Caltech
  21712. professor James Kajiya is said to have been    the founder.  Compare
  21713. {Knights of the Lambda Calculus}.
  21714.  
  21715.    :terminak: /ter'mi-nak`/ n.  [Caltech, ca. 1979] Any
  21716. malfunctioning computer terminal.  A common failure mode of
  21717. Lear-Siegler ADM 3a terminals caused the `L' key to produce the `K'
  21718. code instead; complaints about this tended to look like "Terminak    #3
  21719. has a bad keyboard.  Pkease fix."  Compare {dread high-bit    disease},
  21720. {frogging}; see also {AIDX}, {Nominal    Semidestructor}, {ScumOS},
  21721. {sun-stools}, {Telerat},    {HP-SUX}, {Slowlaris}.
  21722.  
  21723.    :terminal brain death: n.  The extreme form of {terminal    illness}
  21724. (sense 1).  What someone who has obviously been hacking    continuously
  21725. for far too long is said to be suffering from.
  21726.  
  21727.    :terminal illness: n.  1. Syn. {raster burn}.  2. The    `burn-in'
  21728. condition your CRT tends to get if you don't have a    screen saver.
  21729.  
  21730.    :terminal junkie: n.  [UK] A {wannabee} or early {larval    stage}
  21731. hacker who spends most of his or her time wandering the    directory
  21732. tree and writing {noddy} programs just to get a fix of    computer
  21733. time.  Variants include `terminal jockey', `console    junkie', and
  21734. {console jockey}.  The term `console jockey'    seems to imply more
  21735. expertise than the other three (possibly    because of the exalted
  21736. status of the {{console}} relative to an    ordinary terminal).  See
  21737. also {twink}, {read-only    user}.  Appropriately, this term was used
  21738. in the works of William    S. Burroughs to describe a heroin addict
  21739. with an unlimited supply.
  21740.  
  21741.    :terpri: /ter'pree/ vi.  [from LISP 1.5 (and later,    MacLISP)] To
  21742. output a {newline}.  Now rare as jargon, though    still used as
  21743. techspeak in Common LISP.  It is a contraction of    `TERminate PRInt
  21744. line', named for the fact that, on some early OSes    and hardware, no
  21745. characters would be printed until a complete line    was formed, so
  21746. this operation terminated the line and emitted the    output.
  21747.  
  21748.    :test: n.  1. Real users bashing on a prototype long enough to
  21749. get thoroughly acquainted with it, with careful monitoring and
  21750. followup of the results.  2. Some bored random user trying a couple
  21751. of the simpler features with a developer looking over his or her
  21752. shoulder, ready to pounce on mistakes.  Judging by the quality of
  21753. most software, the second definition is far more prevalent.  See
  21754. also {demo}.
  21755.  
  21756.    :TeX:: /tekh/ n.     An extremely powerful {macro}-based text
  21757. formatter written by    Donald E. {Knuth}, very popular in the
  21758. computer-science    community (it is good enough to have displaced Unix
  21759. {{troff}}, the    other favored formatter, even at many Unix
  21760. installations).  TeX    fans insist on the correct (guttural)
  21761. pronunciation, and the    correct spelling (all caps, squished
  21762. together, with the E depressed    below the baseline; the mixed-case
  21763. `TeX' is considered an    acceptable kluge on ASCII-only devices).
  21764. Fans like to proliferate    names from the word `TeX' -- such as
  21765. TeXnician (TeX    user), TeXhacker (TeX programmer), TeXmaster
  21766. (competent    TeX programmer), TeXhax, and TeXnique.  See also
  21767. {CrApTeX}.
  21768.  
  21769.    Knuth began TeX because he had become annoyed at the declining
  21770. quality of the typesetting in volumes I-III of his monumental    "Art
  21771. of Computer Programming" (see {Knuth}, also    {bible}).  In a
  21772. manifestation of the typical hackish urge to    solve the problem at
  21773. hand once and for all, he began to design his    own typesetting
  21774. language.  He thought he would finish it on his    sabbatical in 1978;
  21775. he was wrong by only about 8 years.  The    language was finally frozen
  21776. around 1985, but volume IV of "The    Art of Computer Programming" is
  21777. not expected to appear until 2002.     The impact and influence of
  21778. TeX's design has been such that    nobody minds this very much.  Many
  21779. grand hackish projects have    started as a bit of {toolsmith}ing on
  21780. the way to something else;    Knuth's diversion was simply on a grander
  21781. scale than most.
  21782.  
  21783.    TeX has also been a noteworthy example of free, shared, but
  21784. high-quality software.  Knuth offers a monetary awards to anyone    who
  21785. found and reported bugs dating from before the 1989 code    freeze; as
  21786. the years wore on and the few remaining bugs were fixed    (and new
  21787. ones even harder to find), the bribe went up.  Though    well-written,
  21788. TeX is so large (and so full of cutting edge    technique) that it is
  21789. said to have unearthed at least one bug in    every Pascal system it
  21790. has been compiled with.
  21791.  
  21792.    :text: n.  1. [techspeak] Executable code, esp. a `pure    code'
  21793. portion shared between multiple instances of a program    running in a
  21794. multitasking OS.  Compare {English}.  2. Textual    material in the
  21795. mainstream sense; data in ordinary {{ASCII}} or    {{EBCDIC}}
  21796. representation (see {flat-ASCII}).  "Those are    text files; you can
  21797. review them using the editor."  These two    contradictory senses
  21798. confuse hackers, too.
  21799.  
  21800.    :thanks in advance:  [Usenet] Conventional net.politeness    ending
  21801. a posted request for information or assistance.  Sometimes    written
  21802. `advTHANKSance' or `aTdHvAaNnKcSe' or abbreviated `TIA'.     See
  21803. {net.-}, {netiquette}.
  21804.  
  21805.    :That's not a bug, that's a feature!:  The {canonical}    first
  21806. parry in a debate about a purported bug.  The complainant, if
  21807. unconvinced, is likely to retort that the bug is then at best a
  21808. {misfeature}.  See also {feature}.
  21809.  
  21810.    :the literature: n.  Computer-science journals and other
  21811. publications, vaguely gestured at to answer a question that the
  21812. speaker believes is {trivial}.  Thus, one might answer an    annoying
  21813. question by saying "It's in the literature."  Oppose    {Knuth}, which
  21814. has no connotation of triviality.
  21815.  
  21816.    :the network: n.  1. The union of all the major    noncommercial,
  21817. academic, and hacker-oriented networks, such as    Internet, the
  21818. pre-1990 ARPANET, NSFnet, {BITNET}, and the    virtual UUCP and
  21819. {Usenet} `networks', plus the corporate    in-house networks and
  21820. commercial time-sharing services (such as    CompuServe, GEnie and AOL)
  21821. that gateway to them.  A site is    generally considered `on the
  21822. network' if it can be reached    through some combination of
  21823. Internet-style (@-sign) and UUCP    (bang-path) addresses.  See
  21824. {Internet}, {bang path},    {{Internet address}}, {network address}.
  21825. Following the    mass-culture discovery of the Internet in 1994 and
  21826. subsequent    proliferation of cheap TCP/IP connections, "the network"
  21827. is    increasingly synonymous with the Internet itself (as it was before
  21828.   the second wave of wide-area computer networking began around 1980).
  21829.   2. A fictional conspiracy of libertarian hacker-subversives and
  21830. anti-authoritarian monkeywrenchers described in Robert Anton
  21831. Wilson's novel "Schro"dinger's Cat", to which many hackers    have
  21832. subsequently decided they belong (this is an example of {ha    ha only
  21833. serious}).
  21834.  
  21835.    In sense 1, `the network' is often abbreviated to `the net'.  "Are
  21836. you on the net?" is a frequent question when hackers first meet
  21837. face to face, and "See you on the net!" is a frequent goodbye.
  21838.  
  21839.    :the X that can be Y is not the true X:  Yet another instance    of
  21840. hackerdom's peculiar attraction to mystical references -- a    common
  21841. humorous way of making exclusive statements about a class of    things.
  21842. The template is from the "Tao te Ching": "The Tao    which can be
  21843. spoken of is not the true Tao."  The implication is    often that the X
  21844. is a mystery accessible only to the enlightened.     See the
  21845. {trampoline} entry for an example, and compare {has    the X nature}.
  21846.  
  21847.    :theology: n.  1. Ironically or humorously used to refer to
  21848. {religious issues}.  2. Technical fine points of an abstruse    nature,
  21849. esp. those where the resolution is of theoretical    interest but is
  21850. relatively {marginal} with respect to actual use    of a design or
  21851. system.  Used esp. around software issues with a    heavy AI or
  21852. language-design component, such as the smart-data vs.
  21853. smart-programs dispute in AI.
  21854.  
  21855.    :theory: n.  The consensus, idea, plan, story, or set of rules
  21856. that is currently being used to inform a behavior.  This usage is a
  21857. generalization and (deliberate) abuse of the technical meaning.
  21858. "What's the theory on fixing this TECO loss?"  "What's the    theory on
  21859. dinner tonight?"  ("Chinatown, I guess.")  "What's    the current
  21860. theory on letting lusers on during the day?"  "The    theory behind
  21861. this change is to fix the following well-known    screw...."
  21862.  
  21863.    :thinko: /thing'koh/ n.  [by analogy with `typo'] A    momentary,
  21864. correctable glitch in mental processing, especially one    involving
  21865. recall of information learned by rote; a bubble in the    stream of
  21866. consciousness.  Syn. {braino}; see also {brain    fart}.  Compare
  21867. {mouso}.
  21868.  
  21869.    :This can't happen:  Less clipped variant of {can't    happen}.
  21870.  
  21871.    :This time, for sure!: excl.  Ritual affirmation frequently
  21872. uttered during protracted debugging sessions involving numerous
  21873. small obstacles (e.g., attempts to bring up a UUCP connection).     For
  21874. the proper effect, this must be uttered in a fruity imitation    of
  21875. Bullwinkle J. Moose.  Also heard: "Hey, Rocky!  Watch me pull a
  21876. rabbit out of my hat!"  The {canonical} response is, of course,    "But
  21877. that trick _never_ works!"  See {{hacker humor}}.
  21878.  
  21879.    :thrash: vi.  To move wildly or violently, without    accomplishing
  21880. anything useful.  Paging or swapping systems that are    overloaded
  21881. waste most of their time moving data into and out of    core (rather
  21882. than performing useful computation) and are therefore    said to
  21883. thrash.  Someone who keeps changing his mind (esp. about    what to
  21884. work on next) is said to be thrashing.  A person    frantically trying
  21885. to execute too many tasks at once (and not    spending enough time on
  21886. any single task) may also be described as    thrashing.  Compare
  21887. {multitask}.
  21888.  
  21889.    :thread: n.  [Usenet, GEnie, CompuServe] Common abbreviation    of
  21890. `topic thread', a more or less continuous chain of postings on    a
  21891. single topic.  To `follow a thread' is to read a series of    Usenet
  21892. postings sharing a common subject or (more correctly) which    are
  21893. connected by Reference headers.  The better newsreaders can    present
  21894. news in thread order automatically.
  21895.  
  21896.    Interestingly, this is far from a neologism.  The OED says:    "That
  21897. which connects the successive points in anything, esp. a    narrative,
  21898. train of thought, or the like; the sequence of events    or ideas
  21899. continuing throughout the whole course of anything;"    Citations are
  21900. given going back to 1642!
  21901.  
  21902.    :three-finger salute: n.  Syn. {Vulcan nerve pinch}.
  21903.  
  21904.    :throwaway account: n.  1. An inexpensive Internet account
  21905. purchased on a legitimate {ISP} for the the sole purpose of    spewing
  21906. {spam}. 2. An inexpensive Internet account obtained for    the sole
  21907. purpose of doing something which requires a valid email    address but
  21908. being able to ignore spam since the user will not look    at the
  21909. account again.
  21910.  
  21911.    :thud: n.  1. Yet another {metasyntactic variable} (see    {foo}).
  21912. It is reported that at CMU from the mid-1970s the    canonical series
  21913. of these was `foo', `bar', `thud', `blat'.     2. Rare term for the
  21914. hash character, `#' (ASCII 0100011).  See    {ASCII} for other
  21915. synonyms.
  21916.  
  21917.    :thumb: n.  The slider on a window-system scrollbar.  So    called
  21918. because moving it allows you to browse through the contents    of a
  21919. text window in a way analogous to thumbing through a book.
  21920.  
  21921.    :thunk: /thuhnk/ n.  1. "A piece of coding which provides    an
  21922. address", according to P. Z. Ingerman, who invented thunks in    1961
  21923. as a way of binding actual parameters to their formal    definitions in
  21924. Algol-60 procedure calls.  If a procedure is called    with an
  21925. expression in the place of a formal parameter, the compiler
  21926. generates a thunk which computes the expression and leaves the
  21927. address of the result in some standard location.  2. Later
  21928. generalized into: an expression, frozen together with its
  21929. environment, for later evaluation if and when needed (similar to
  21930. what in techspeak is called a `closure').  The process of    unfreezing
  21931. these thunks is called `forcing'.  3. A    {stubroutine}, in an overlay
  21932. programming environment, that loads    and jumps to the correct
  21933. overlay.  Compare {trampoline}.     4. People and activities scheduled
  21934. in a thunklike manner.  "It    occurred to me the other day that I am
  21935. rather accurately modeled by    a thunk -- I frequently need to be
  21936. forced to completion." --    paraphrased from a {plan file}.
  21937.  
  21938.    Historical note: There are a couple of onomatopoeic myths
  21939. circulating about the origin of this term.  The most common is that
  21940. it is the sound made by data hitting the stack; another holds that
  21941. the sound is that of the data hitting an accumulator.  Yet another
  21942. suggests that it is the sound of the expression being unfrozen at
  21943. argument-evaluation time.  In fact, according to the inventors, it
  21944. was coined after they realized (in the wee hours after hours of
  21945. discussion) that the type of an argument in Algol-60 could be
  21946. figured out in advance with a little compile-time thought,
  21947. simplifying the evaluation machinery.  In other words, it had
  21948. `already been thought of'; thus it was christened a `thunk',    which
  21949. is "the past tense of `think' at two in the morning".
  21950.  
  21951.    :tick: n.  1. A {jiffy} (sense 1).  2. In simulations, the
  21952. discrete unit of time that passes between iterations of the
  21953. simulation mechanism.  In AI applications, this amount of time is
  21954. often left unspecified, since the only constraint of interest is    the
  21955. ordering of events.  This sort of AI simulation is often
  21956. pejoratively referred to as `tick-tick-tick' simulation,    especially
  21957. when the issue of simultaneity of events with long,    independent
  21958. chains of causes is {handwave}d.  3. In the FORTH    language, a single
  21959. quote character.
  21960.  
  21961.    :tick-list features: n.  [Acorn Computers] Features in    software
  21962. or hardware that customers insist on but never use    (calculators in
  21963. desktop TSRs and that sort of thing).  The American    equivalent would
  21964. be `checklist features', but this jargon sense    of the phrase has not
  21965. been reported.
  21966.  
  21967.    :tickle a bug: vt.  To cause a normally hidden bug to manifest
  21968. itself through some known series of inputs or operations.  "You    can
  21969. tickle the bug in the Paradise VGA card's highlight handling by
  21970. trying to set bright yellow reverse video."
  21971.  
  21972.    :tiger team: n.  [U.S. military jargon] 1. Originally, a team    (of
  21973. {sneaker}s) whose purpose is to penetrate security, and thus    test
  21974. security measures.  These people are paid professionals who do
  21975. hacker-type tricks, e.g., leave cardboard signs saying "bomb" in
  21976. critical defense installations, hand-lettered notes saying "Your
  21977. codebooks have been stolen" (they usually haven't been) inside
  21978. safes, etc.  After a successful penetration, some high-ranking
  21979. security type shows up the next morning for a `security review'    and
  21980. finds the sign, note, etc., and all hell breaks loose.  Serious
  21981. successes of tiger teams sometimes lead to early retirement for    base
  21982. commanders and security officers (see the {patch} entry for    an
  21983. example).  2. Recently, and more generally, any official    inspection
  21984. team or special {firefighting} group called in to    look at a problem.
  21985.  
  21986.    A subset of tiger teams are professional {cracker}s, testing the
  21987. security of military computer installations by attempting remote
  21988. attacks via networks or supposedly `secure' comm channels.  Some of
  21989. their escapades, if declassified, would probably rank among the
  21990. greatest hacks of all times.  The term has been adopted in
  21991. commercial computer-security circles in this more specific sense.
  21992.  
  21993.    :time bomb: n.  A subspecies of {logic bomb} that is    triggered by
  21994. reaching some preset time, either once or    periodically.  There are
  21995. numerous legends about time bombs set up    by programmers in their
  21996. employers' machines, to go off if the    programmer is fired or laid
  21997. off and is not present to perform the    appropriate suppressing action
  21998. periodically.
  21999.  
  22000.    Interestingly, the only such incident for which we have been
  22001. pointed to documentary evidence took place in the Soviet Union in
  22002. 1986!  A disgruntled programmer at the Volga Automobile Plant    (where
  22003. the Fiat clones called Ladas were manufactured) planted a    time bomb
  22004. which, a week after he'd left on vacation, stopped the    entire main
  22005. assembly line for a day.  The case attracted lots of    attention in
  22006. the Soviet Union because it was the first cracking    case to make it
  22007. to court there.  The perpetrator got a suspended    sentence of 3 years
  22008. in jail and was barred from future work as a    programmer.
  22009.  
  22010.    :time sink: n.  [poss. by analogy with `heat sink' or    `current
  22011. sink'] A project that consumes unbounded amounts of    time.
  22012.  
  22013.    :time T: /ti:m T/ n.  1. An unspecified but usually
  22014. well-understood time, often used in conjunction with a later time
  22015. T+1.  "We'll meet on campus at time T or at Louie's    at time T+1"
  22016. means, in the context of going out for dinner:    "We can meet on
  22017. campus and go to Louie's, or we can meet at    Louie's itself a bit
  22018. later."  (Louie's was a Chinese restaurant in    Palo Alto that was a
  22019. favorite with hackers.)  Had the number 30    been used instead of the
  22020. number 1, it would have implied that the    travel time from campus to
  22021. Louie's is 30 minutes; whatever time    T is (and that hasn't been
  22022. decided on yet), you can meet    half an hour later at Louie's than you
  22023. could on campus and end up    eating at the same time.  See also {since
  22024. time T equals minus    infinity}.
  22025.  
  22026.    :times-or-divided-by: quant.  [by analogy with    `plus-or-minus']
  22027. Term occasionally used when describing the    uncertainty associated
  22028. with a scheduling estimate, for either    humorous or brutally honest
  22029. effect.  For a software project, the    scheduling uncertainty factor
  22030. is usually at least 2.
  22031.  
  22032.    :TINC: //  [Usenet] Abbreviation: "There Is No Cabal".  See
  22033. {backbone cabal} and {NANA}, but note that this abbreviation    did not
  22034. enter use until long after the dispersal of the backbone    cabal.
  22035.  
  22036.    :Tinkerbell program: n.  [Great Britain] A monitoring program
  22037. used to scan incoming network calls and generate alerts when calls
  22038. are received from particular sites, or when logins are attempted
  22039. using certain IDs.  Named after `Project Tinkerbell', an
  22040. experimental phone-tapping program developed by British Telecom in
  22041. the early 1980s.
  22042.  
  22043.    :TINLC: //  Abbreviation: "There Is No Lumber Cartel". See
  22044. {Lumber Cartel}.  TINLC is a takeoff on {TINC}.
  22045.  
  22046.    :tip of the ice-cube: n. //  [IBM] The visible part of    something
  22047. small and insignificant.  Used as an ironic comment in    situations
  22048. where `tip of the iceberg' might be appropriate if the    subject were
  22049. at all important.
  22050.  
  22051.    :tired iron: n.  [IBM] Hardware that is perfectly functional but far
  22052.   enough behind the state of the art to have been superseded by new
  22053. products, presumably with sufficient improvement in bang-per-buck
  22054. that the old stuff is starting to look a bit like a {dinosaur}.
  22055.  
  22056.    :tits on a keyboard: n.  Small bumps on certain keycaps to    keep
  22057. touch-typists registered (usually on the `5' of a numeric    keypad,
  22058. and on the `F' and `J' of a {QWERTY} keyboard;    but the Mac, perverse
  22059. as usual, has them on the `D' and    `K' keys).
  22060.  
  22061.    :TLA: /T-L-A/ n.  [Three-Letter Acronym] 1. Self-describing
  22062. abbreviation for a species with which computing terminology is
  22063. infested.  2. Any confusing acronym.  Examples include MCA, FTP,
  22064. SNA, CPU, MMU, SCCS, DMU, FPU, NNTP, TLA.  People who like this
  22065. looser usage argue that not all TLAs have three letters, just as    not
  22066. all four-letter words have four letters.  One also hears of    `ETLA'
  22067. (Extended Three-Letter Acronym, pronounced /ee tee el    ay/) being
  22068. used to describe four-letter acronyms.  The term    `SFLA' (Stupid
  22069. Four-Letter Acronym) has also been reported.  See    also {YABA}.
  22070.  
  22071.    The self-effacing phrase "TDM TLA" (Too Damn Many...) is    often
  22072. used to bemoan the plethora of TLAs in use.  In 1989, a    random of
  22073. the journalistic persuasion asked hacker Paul Boutin    "What do you
  22074. think will be the biggest problem in computing in    the 90s?"  Paul's
  22075. straight-faced response: "There are only    17,000 three-letter
  22076. acronyms." (To be exact, there are 26^3    = 17,576.)  There is
  22077. probably some karmic justice in the fact that    Paul Boutin
  22078. subsequently became a journalist.
  22079.  
  22080.    :(TM): //  [Usenet] ASCII rendition of the    trademark-superscript
  22081. symbol    appended to phrases that the author feels should be recorded
  22082. for    posterity, perhaps in future editions of this lexicon.  Sometimes
  22083.   used ironically as a form of protest against the recent spate of
  22084. software and algorithm patents and `look and feel' lawsuits.  See
  22085. also {UN*X}.
  22086.  
  22087.    :TMRC: /tmerk'/ n.  The Tech Model Railroad Club at MIT, one    of
  22088. the wellsprings of hacker culture.  The 1959 "Dictionary of    the TMRC
  22089. Language" compiled by Peter Samson included several terms    that
  22090. became basics of the hackish vocabulary (see esp. {foo},    {mung}, and
  22091. {frob}).
  22092.  
  22093.    By 1962, TMRC's legendary layout was already a marvel of complexity
  22094.  (and has grown in the thirty years since; all the features
  22095. described here are still present).  The control system alone
  22096. featured about 1200 relays.  There were {scram switch}es located    at
  22097. numerous places around the room that could be thwacked if    something
  22098. undesirable was about to occur, such as a train going    full-bore at
  22099. an obstruction.  Another feature of the system was a    digital clock
  22100. on the dispatch board, which was itself something of    a wonder in
  22101. those bygone days before cheap LEDs and seven-segment    displays.
  22102. When someone hit a scram switch the clock stopped and    the display
  22103. was replaced with the word `FOO'; at TMRC the scram    switches are
  22104. therefore called `foo switches'.
  22105.  
  22106.    Steven Levy, in his book "Hackers" (see the    {Bibliography} in
  22107. Appendix C), gives a stimulating account of    those early years.
  22108. TMRC's Signals and Power Committee included    many of the early PDP-1
  22109. hackers and the people who later became the    core of the MIT AI Lab
  22110. staff.  Thirty years later that connection    is still very much alive,
  22111. and this lexicon accordingly includes a    number of entries from a
  22112. recent revision of the TMRC dictionary.
  22113.  
  22114.    :TMRCie: /tmerk'ee/, n.  [MIT] A denizen of {TMRC}.
  22115.  
  22116.    :TMTOWTDI:   There's More Than One Way To Do It.  This
  22117. abbreviation of the official motto of {Perl} is frequently used on
  22118. newsgroups and mailing lists related to that language.
  22119.  
  22120.    :to a first approximation: adj.  1. [techspeak] When one is doing
  22121. certain numerical computations, an approximate solution may be
  22122. computed by any of several heuristic methods, then refined to a
  22123. final value.  By using the starting point of a first approximation
  22124. of the answer, one can write an algorithm that converges more
  22125. quickly to the correct result.  2. In jargon, a preface to any
  22126. comment that indicates that the comment is only approximately true.
  22127. The remark "To a first approximation, I feel good" might indicate
  22128. that deeper questioning would reveal that not all is perfect (e.g.,
  22129. a nagging cough still remains after an illness).
  22130.  
  22131.    :to a zeroth approximation:  [from `to a first    approximation'] A
  22132. _really_ sloppy approximation; a wild    guess.  Compare {social
  22133. science number}.
  22134.  
  22135.    :toad: vt. [MUD]  1. Notionally, to change a {MUD} player into    a
  22136. toad.  2. To permanently and totally exile a player from the MUD.     A
  22137. very serious action, which can only be done by a MUD {wizard};    often
  22138. involves a lot of debate among the other characters first.     See also
  22139. {frog}, {FOD}.
  22140.  
  22141.    :toast: 1. n.  Any completely inoperable system or component,
  22142. esp. one that has just crashed and burned: "Uh, oh ... I    think the
  22143. serial board is toast."  2. vt. To cause a system to    crash
  22144. accidentally, especially in a manner that requires manual    rebooting.
  22145. "Rick just toasted the {firewall machine} again."     Compare {fried}.
  22146.  
  22147.    :toaster: n.  1. The archetypal really stupid application for    an
  22148. embedded microprocessor controller; often used in comments that
  22149. imply that a scheme is inappropriate technology (but see    {elevator
  22150. controller}).  "{DWIM} for an assembler?  That'd    be as silly as
  22151. running Unix on your toaster!"  2. A very, very    dumb computer. "You
  22152. could run this program on any dumb toaster."     See {bitty box}, {Get
  22153. a real computer!}, {toy}, {beige    toaster}.  3. A Macintosh, esp. the
  22154. Classic Mac.  Some hold that    this is implied by sense 2.  4. A
  22155. peripheral device.  "I bought my    box without toasters, but since
  22156. then I've added two boards and a    second disk drive." 5. A
  22157. specialized computer used as an    appliance. See {web toaster}, {video
  22158. toaster}.
  22159.  
  22160.    :toeprint: n.  A {footprint} of especially small size.
  22161.  
  22162.    :toggle: vt.  To change a {bit} from whatever state it is    in to
  22163. the other state; to change from 1 to 0 or from 0 to 1.  This    comes
  22164. from `toggle switches', such as standard light switches,    though the
  22165. word `toggle' actually refers to the mechanism that    keeps the switch
  22166. in the position to which it is flipped rather than    to the fact that
  22167. the switch has two positions.  There are four    things you can do to a
  22168. bit: set it (force it to be 1), clear (or    zero) it, leave it alone,
  22169. or toggle it.  (Mathematically, one would    say that there are four
  22170. distinct boolean-valued functions of one    boolean argument, but
  22171. saying that is much less fun than talking    about toggling bits.)
  22172.  
  22173.    :tool: 1. n.  A program used primarily to create, manipulate,
  22174. modify, or analyze other programs, such as a compiler or an editor
  22175. or a cross-referencing program.  Oppose {app}, {operating    system}.
  22176. 2. [Unix] An application program with a simple,    `transparent'
  22177. (typically text-stream) interface designed    specifically to be used
  22178. in programmed combination with other tools    (see {filter},
  22179. {plumbing}).  3. [MIT: general to students    there] vi. To work; to
  22180. study (connotes tedium).  The TMRC    Dictionary defined this as "to
  22181. set one's brain to the    grindstone".  See {hack}.  4. n. [MIT] A
  22182. student who studies    too much and hacks too little.  (MIT's student
  22183. humor magazine    rejoices in the name "Tool and Die".)
  22184.  
  22185.    :toolsmith: n.  The software equivalent of a tool-and-die
  22186. specialist; one who specializes in making the {tool}s with which
  22187. other programmers create applications.  Many hackers consider this
  22188. more fun than applications per se; to understand why, see
  22189. {uninteresting}.  Jon Bentley, in the "Bumper-Sticker Computer
  22190. Science" chapter of his book "More Programming Pearls",    quotes Dick
  22191. Sites from {DEC} as saying "I'd rather write programs to    write
  22192. programs than write programs".
  22193.  
  22194.    :toor: n.  The Bourne-Again Super-user.  An alternate account
  22195. with UID of 0, created on Unix machines where the root user has an
  22196. inconvenient choice of shell. Compare {avatar}.
  22197.  
  22198.    :topic drift: n.  Term used on GEnie, Usenet and other    electronic
  22199. fora to describe the tendency of a {thread} to drift    away from the
  22200. original subject of discussion (and thus, from the    Subject header of
  22201. the originating message), or the results of that    tendency.  The
  22202. header in each post can be changed to keep current    with the posts,
  22203. but usually isn't due to forgetfulness or laziness.     A single post
  22204. may often result in several posts each responding to    a different
  22205. point in the original.  Some subthreads will actually    be in response
  22206. to some off-the-cuff side comment, possibly    degenerating into a
  22207. {flame war}, or just as often evolving into a    separate discussion.
  22208. Hence, discussions aren't really so much    threads as they are trees.
  22209. Except that they don't really have    leaves, or multiple branching
  22210. roots; usually some lines of    discussion will just sort of die off
  22211. after everyone gets tired of    them.  This could take anywhere from
  22212. hours to weeks, or even    longer.
  22213.  
  22214.    The term `topic drift' is often used in gentle reminders that    the
  22215. discussion has strayed off any useful track.  "I think we    started
  22216. with a question about Niven's last book, but we've ended up
  22217. discussing the sexual habits of the common marmoset.  Now    _that's_
  22218. topic drift!"
  22219.  
  22220.    :topic group: n.  Syn. {forum}.
  22221.  
  22222.    :TOPS-10:: /tops-ten/ n.  {DEC}'s proprietary OS for the    fabled
  22223. {PDP-10} machines, long a favorite of hackers but now    effectively
  22224. extinct.  A fountain of hacker folklore; see Appendix    A.  See also
  22225. {{ITS}}, {{TOPS-20}}, {{TWENEX}}, {VMS},    {operating system}.
  22226. TOPS-10 was sometimes called BOTS-10 (from    `bottoms-ten') as a
  22227. comment on the inappropriateness of describing    it as the top of
  22228. anything.
  22229.  
  22230.    :TOPS-20:: /tops-twen'tee/ n.  See {{TWENEX}}.
  22231.  
  22232.    :tourist: n.  1. [ITS] A guest on the system, especially    one who
  22233. generally logs in over a network from a remote location for    {comm
  22234. mode}, email, games, and other trivial purposes.  One step    below
  22235. {luser}.  ITS hackers often used to spell this    {turist}, perhaps by
  22236. some sort of tenuous analogy with    {luser} (this usage may also have
  22237. expressed the ITS culture's    penchant for six-letterisms, and-or been
  22238. some sort of tribute to    Alan Turing).  Compare {twink}, {lurker},
  22239. {read-only    user}.  2. [IRC] An {IRC} user who goes from channel to
  22240. channel    without saying anything; see {channel hopping}.
  22241.  
  22242.    :tourist information: n.  Information in an on-line display    that
  22243. is not immediately useful, but contributes to a viewer's    gestalt of
  22244. what's going on with the software or hardware behind it.     Whether a
  22245. given piece of info falls in this category depends partly    on what
  22246. the user is looking for at any given time.  The `bytes    free'
  22247. information at the bottom of an MS-DOS `dir' display is    tourist
  22248. information; so (most of the time) is the TIME information    in a Unix
  22249. `ps(1)' display.
  22250.  
  22251.    :touristic: adj.  Having the quality of a {tourist}.  Often    used
  22252. as a pejorative, as in `losing touristic scum'.  Often    spelled
  22253. `turistic' or `turistik', so that phrase might be more    properly
  22254. rendered `lusing turistic scum'.
  22255.  
  22256.    :toy: n.  A computer system; always used with qualifiers.     1.
  22257. `nice toy': One that supports the speaker's hacking style
  22258. adequately.  2. `just a toy': A machine that yields insufficient
  22259. {computron}s for the speaker's preferred uses.  This is not
  22260. condemnatory, as is {bitty box}; toys can at least be fun.  It    is
  22261. also strongly conditioned by one's expectations; Cray XMP users
  22262. sometimes consider the Cray-1 a `toy', and certainly all RISC    boxes
  22263. and mainframes are toys by their standards.  See also {Get    a real
  22264. computer!}.
  22265.  
  22266.    :toy language: n.  A language useful for instructional    purposes
  22267. or as a proof-of-concept for some aspect of    computer-science theory,
  22268. but inadequate for general-purpose    programming.  {Bad Thing}s can
  22269. result when a toy language is    promoted as a general purpose solution
  22270. for programming (see    {bondage-and-discipline language}); the classic
  22271. example is    {{Pascal}}.  Several moderately well-known formalisms for
  22272.   conceptual tasks such as programming Turing machines also qualify
  22273. as toy languages in a less negative sense.  See also {MFTL}.
  22274.  
  22275.    :toy problem: n.  [AI] A deliberately oversimplified case of a
  22276. challenging problem used to investigate, prototype, or test
  22277. algorithms for a real problem.  Sometimes used pejoratively.  See
  22278. also {gedanken}, {toy program}.
  22279.  
  22280.    :toy program: n.  1. One that can be readily comprehended;    hence,
  22281. a trivial program (compare {noddy}).  2. One for which    the effort of
  22282. initial coding dominates the costs through its life    cycle.  See also
  22283. {noddy}.
  22284.  
  22285.    :trampoline: n.  An incredibly {hairy} technique, found in    some
  22286. {HLL} and program-overlay implementations (e.g., on the    Macintosh),
  22287. that involves on-the-fly generation of small executable    (and, likely
  22288. as not, self-modifying) code objects to do indirection    between code
  22289. sections.  These pieces of {live data} are called    `trampolines'.
  22290. Trampolines are notoriously difficult to    understand in action; in
  22291. fact, it is said by those who use this    term that the trampoline that
  22292. doesn't bend your brain is not the    true trampoline.  See also
  22293. {snap}.
  22294.  
  22295.    :trap:  1. n. A program interrupt, usually an interrupt caused    by
  22296. some exceptional situation in the user program.  In most cases,    the
  22297. OS performs some action, then returns control to the program.     2.
  22298. vi. To cause a trap.  "These instructions trap to the    monitor."
  22299. Also used transitively to indicate the cause of the    trap.  "The
  22300. monitor traps all input/output instructions."
  22301.  
  22302.    This term is associated with assembler programming (`interrupt'
  22303. or `exception' is more common among {HLL} programmers) and    appears
  22304. to be fading into history among programmers as the role of    assembler
  22305. continues to shrink.  However, it is still important to    computer
  22306. architects and systems hackers (see {system},    sense 1), who use it
  22307. to distinguish deterministically repeatable    exceptions from
  22308. timing-dependent ones (such as I/O interrupts).
  22309.  
  22310.    :trap door: n.  (alt. `trapdoor') 1. Syn. {back door}    -- a {Bad
  22311. Thing}.  2. [techspeak] A `trap-door function' is    one which is easy
  22312. to compute but very difficult to compute the    inverse of.  Such
  22313. functions are {Good Thing}s with important    applications in
  22314. cryptography, specifically in the construction of    public-key
  22315. cryptosystems.
  22316.  
  22317.    :trash: vt.  To destroy the contents of (said of a data
  22318. structure).  The most common of the family of near-synonyms
  22319. including {mung}, {mangle}, and {scribble}.
  22320.  
  22321.    :trawl: v.  To sift through large volumes of data (e.g.,    Usenet
  22322. postings, FTP archives, or the Jargon File) looking for    something of
  22323. interest.
  22324.  
  22325.    :tree-killer: n.  [Sun] 1. A printer.  2. A person who wastes
  22326. paper.  This epithet should be interpreted in a broad sense;
  22327. `wasting paper' includes the production of {spiffy} but
  22328. {content-free} documents.  Thus, most {suit}s are    tree-killers.  The
  22329. negative loading of this term may reflect the    epithet `tree-killer'
  22330. applied by Treebeard the Ent to the Orcs    in J.R.R. Tolkien's "Lord
  22331. of the Rings" (see also    {elvish}, {elder days}).
  22332.  
  22333.    :treeware: /tree'weir/ n.  Printouts, books, and other
  22334. information media made from pulped dead trees.  Compare
  22335. {tree-killer}, see {documentation}.
  22336.  
  22337.    :trit: /trit/ n.  [by analogy with `bit'] One base-3    digit; the
  22338. amount of information conveyed by a selection among one    of three
  22339. equally likely outcomes (see also {bit}).  Trits arise,    for example,
  22340. in the context of a {flag} that should actually be    able to assume
  22341. _three_ values -- such as yes, no, or unknown.     Trits are sometimes
  22342. jokingly called `3-state bits'.  A trit may    be semi-seriously
  22343. referred to as `a bit and a half', although it    is linearly
  22344. equivalent to 1.5849625 bits (that is,    log2(3)    bits).
  22345.  
  22346.    :trivial: adj.  1. Too simple to bother detailing.  2. Not    worth
  22347. the speaker's time.  3. Complex, but solvable by methods so    well
  22348. known that anyone not utterly {cretinous} would have    thought of them
  22349. already.  4. Any problem one has already solved    (some claim that
  22350. hackish `trivial' usually evaluates to `I've    seen it before').
  22351. Hackers' notions of triviality may be quite at    variance with those
  22352. of non-hackers.  See {nontrivial},    {uninteresting}.
  22353.  
  22354.    The physicist Richard Feynman, who had the hacker nature to an
  22355. amazing degree (see his essay "Los Alamos From Below" in    "Surely
  22356. You're Joking, Mr.  Feynman!"), defined `trivial    theorem' as "one
  22357. that has already been proved".
  22358.  
  22359.    :troff:: /T'rof/ or /trof/ n.   [Unix] The gray    eminence of Unix
  22360. text processing; a formatting and phototypesetting    program, written
  22361. originally in PDP-11 assembler and then in    barely-structured early C
  22362. by the late Joseph Ossanna, modeled after    the earlier ROFF which was
  22363. in turn modeled after Multics' RUNOFF by    Jerome Saltzer (_that_ name
  22364. came from the expression "to run    off a copy").  A companion program,
  22365. {nroff}, formats output for    terminals and line printers.
  22366.  
  22367.    In 1979, Brian Kernighan modified troff so that it could drive
  22368. phototypesetters other than the Graphic Systems CAT.  His paper
  22369. describing that work ("A Typesetter-independent troff," AT&T CSTR
  22370. #97) explains troff's durability.  After discussing the program's
  22371. "obvious deficiencies -- a rebarbative input syntax, mysterious    and
  22372. undocumented properties in some areas, and a voracious appetite    for
  22373. computer resources" and noting the ugliness and extreme    hairiness of
  22374. the code and internals, Kernighan concludes:
  22375.  
  22376.      None of these remarks should be taken as denigrating Ossanna's
  22377.      accomplishment with TROFF.  It has proven a remarkably robust
  22378.      tool, taking unbelievable abuse from a variety of preprocessors
  22379.      and being forced into uses that were never conceived of in the
  22380.      original design, all with considerable grace under fire.
  22381.  
  22382.    The success of {{TeX}} and desktop publishing systems have
  22383. reduced `troff''s relative importance, but this tribute    perfectly
  22384. captures the strengths that secured `troff' a place    in hacker
  22385. folklore; indeed, it could be taken more generally as an    indication
  22386. of those qualities of good programs that, in the long    run, hackers
  22387. most admire.
  22388.  
  22389.    :troglodyte: n.  [Commodore] 1. A hacker who never leaves his
  22390. cubicle.  The term `gnoll' (from Dungeons & Dragons) is also
  22391. reported.  2. A curmudgeon attached to an obsolescent computing
  22392. environment.  The combination `ITS troglodyte' was flung around    some
  22393. during the Usenet and email wringle-wrangle attending the    2.x.x
  22394. revision of the Jargon File; at least one of the people it    was
  22395. intended to describe adopted it with pride.
  22396.  
  22397.    :troglodyte mode: n.  [Rice University] Programming with the
  22398. lights turned off, sunglasses on, and the terminal inverted (black
  22399. on white) because you've been up for so many days straight that    your
  22400. eyes hurt (see {raster burn}).  Loud music blaring from a    stereo
  22401. stacked in the corner is optional but recommended.  See    {larval
  22402. stage}, {hack mode}.
  22403.  
  22404.    :Trojan horse: n.  [coined by MIT-hacker-turned-NSA-spook Dan
  22405. Edwards] A malicious, security-breaking program that is disguised    as
  22406. something benign, such as a directory lister, archiver, game, or    (in
  22407. one notorious 1990 case on the Mac) a program to find and    destroy
  22408. viruses!  See {back door}, {virus}, {worm},    {phage}, {mockingbird}.
  22409.  
  22410.    :troll: v.,n.  1. [From the Usenet group    alt.folklore.urban] To
  22411. utter a posting on {Usenet}    designed to attract predictable
  22412. responses or {flame}s; or, the    post itself.  Derives from the phrase
  22413. "trolling for {newbie}s"    which in turn comes from mainstream
  22414. "trolling", a style of    fishing in which one trails bait through a
  22415. likely spot hoping for a    bite.  The well-constructed troll is a post
  22416. that induces lots of    newbies and flamers to make themselves look
  22417. even more clueless than    they already do, while subtly conveying to
  22418. the more savvy and    experienced that it is in fact a deliberate
  22419. troll.  If you don't    fall for the joke, you get to be in on it.  2.
  22420. An individual who    chronically trolls in sense 1; regularly posts
  22421. specious arguments,    flames or personal attacks to a newsgroup,
  22422. discussion list, or in    email for no other purpose than to annoy
  22423. someone or disrupt a    discussion.  Trolls are recognizable by the
  22424. fact that the have no    real interest in learning about the topic at
  22425. hand - they simply    want to utter flame bait.  Like the ugly
  22426. creatures they are named    after, they exhibit no redeeming
  22427. characteristics, and as such, they    are recognized as a lower form of
  22428. life on the net, as in, "Oh,    ignore him, he's just a troll." 3.
  22429. [Berkeley] Computer lab    monitor. A popular campus job for CS
  22430. student. Duties include    helping newbies and ensuring that lab
  22431. policies are    followed. Probably so-called because it involves
  22432. lurking in dark    cavelike corners.
  22433.  
  22434.    Some people claim that the troll (sense 1) is properly a narrower
  22435. category    than {flame bait}, that a troll is categorized by containing
  22436.   some assertion that is wrong but not overtly controversial. See
  22437. also {Troll-O-Meter}.
  22438.  
  22439.    :Troll-O-Meter: n.  Common Usenet jargon for a notional
  22440. instrument used to measure the quality of a Usenet    {troll}. "Come
  22441. on, everyone!  If the above doesn't set off the    Troll-O-Meter, we're
  22442. going to have to get him to run around with a    big blinking sign
  22443. saying `I am a troll, I'm only in it for the    controversy and flames'
  22444. and shooting random gobs of Jell-O(tm) at    us before the point is
  22445. proven." Mentions of the Troll-O-Meter are    often accompanied by an
  22446. ASCII picture of an arrow pointing at a    numeric scale. Compare
  22447. {bogometer}.
  22448.  
  22449.    :tron: v.  [NRL, CMU; prob. fr. the movie "Tron"] To    become
  22450. inaccessible except via email or `talk(1)', especially    when one is
  22451. normally available via telephone or in person.     Frequently used in
  22452. the past tense, as in: "Ran seems to have    tronned on us this week"
  22453. or "Gee, Ran, glad you were able to    un-tron yourself".  One may also
  22454. speak of `tron mode'; compare    {spod}.
  22455.  
  22456.    Note that many dialects of BASIC have a TRON/TROFF    command pair
  22457. that enables/disables line number tracing; this has    no obvious
  22458. relationship to the slang usage.
  22459.  
  22460.    :true-hacker: n.  [analogy with `trufan' from SF fandom] One    who
  22461. exemplifies the primary values of hacker culture, esp.     competence
  22462. and helpfulness to other hackers.  A high compliment.     "He spent 6
  22463. hours helping me bring up UUCP and netnews on my    FOOBAR 4000 last
  22464. week -- manifestly the act of a true-hacker."     Compare {demigod},
  22465. oppose {munchkin}.
  22466.  
  22467.    :tty: /T-T-Y/, /tit'ee/ n.  The latter pronunciation was
  22468. primarily ITS, but some Unix people say it this way as well; this
  22469. pronunciation is _not_ considered to have sexual    undertones. 1. A
  22470. terminal of the teletype variety, characterized by    a noisy
  22471. mechanical printer, a very limited character set, and poor    print
  22472. quality.  Usage: antiquated (like the TTYs themselves).  See    also
  22473. {bit-paired keyboard}.  2. [especially Unix] Any terminal    at all;
  22474. sometimes used to refer to the particular terminal    controlling a
  22475. given job.  3. [Unix] Any serial port, whether or not    the device
  22476. connected to it is a terminal; so called because under    Unix such
  22477. devices have names of the form tty*.  Ambiguity between    senses 2 and
  22478. 3 is common but seldom bothersome.
  22479.  
  22480.    :tube:  1. n. A CRT terminal.  Never used in the mainstream    sense
  22481. of TV; real hackers don't watch TV, except for Loony Toons,    Rocky &
  22482. Bullwinkle, Trek Classic, the Simpsons, and the occasional    cheesy
  22483. old swashbuckler movie.  2. [IBM] To send a copy of    something to
  22484. someone else's terminal.  "Tube me that    note?"
  22485.  
  22486.    :tube time: n.  Time spent at a terminal or console.  More
  22487. inclusive than hacking time; commonly used in discussions of what
  22488. parts of one's environment one uses most heavily.  "I find I'm
  22489. spending too much of my tube time reading mail since I started this
  22490. revision."
  22491.  
  22492.    :tunafish: n.  In hackish lore, refers to the mutated    punchline
  22493. of an age-old joke to be found at the bottom of the    manual pages of
  22494. `tunefs(8)' in the original {BSD} 4.2    distribution.  The joke was
  22495. removed in later releases once    commercial sites started using 4.2,
  22496. but apparently restored on the    4.4BSD tape and in
  22497. {Net,Free,Open}BSD.  Tunefs relates to the    `tuning' of file-system
  22498. parameters for optimum performance, and    at the bottom of a few pages
  22499. of wizardly inscriptions was a `BUGS'    section consisting of the line
  22500. "You can tune a file system, but    you can't tunafish".  Variants of
  22501. this can be seen in other BSD    versions, though it has been excised
  22502. from some versions by    humorless management {droid}s.  The [nt]roff
  22503. source for SunOS    4.1.1 contains a comment apparently designed to
  22504. prevent this:    "Take this out and a Unix Demon will dog your steps
  22505. from now until    the `time_t''s wrap around."
  22506.  
  22507.    [It has since been pointed out that indeed you can tunafish.
  22508. Usually at a canning factory... --ESR]
  22509.  
  22510.    :tune: vt.  [from automotive or musical usage] To optimize a
  22511. program or system for a particular environment, esp. by adjusting
  22512. numerical parameters designed as {hook}s for tuning, e.g., by
  22513. changing `#define' lines in C.  One may `tune for time'    (fastest
  22514. execution), `tune for space' (least memory use), or    `tune for
  22515. configuration' (most efficient use of hardware).  See    {bum}, {hot
  22516. spot}, {hand-hacking}.
  22517.  
  22518.    :turbo nerd: n.  See {computer geek}.
  22519.  
  22520.    :Turing tar-pit: n.  1. A place where anything is possible but
  22521. nothing of interest is practical.  Alan Turing helped lay the
  22522. foundations of computer science by showing that all machines and
  22523. languages capable of expressing a certain very primitive set of
  22524. operations are logically equivalent in the kinds of computations
  22525. they can carry out, and in principle have capabilities that differ
  22526. only in speed from those of the most powerful and elegantly    designed
  22527. computers.  However, no machine or language exactly    matching
  22528. Turing's primitive set has ever been built (other than    possibly as a
  22529. classroom exercise), because it would be horribly    slow and far too
  22530. painful to use.  A `Turing tar-pit' is any    computer language or
  22531. other tool that shares this property.  That    is, it's theoretically
  22532. universal -- but in practice, the harder    you struggle to get any
  22533. real work done, the deeper its inadequacies    suck you in.  Compare
  22534. {bondage-and-discipline language}.  2. The    perennial {holy wars}
  22535. over whether language A or B is the "most    powerful".
  22536.  
  22537.    :turist: /too'rist/ n.  Var. sp. of {tourist}, q.v.  Also    in
  22538. adjectival form, `turistic'.  Poss. influenced by {luser}    and
  22539. `Turing'.
  22540.  
  22541.    :tweak: vt.  1. To change slightly, usually in reference to a
  22542. value.  Also used synonymously with {twiddle}.  If a program is
  22543. almost correct, rather than figure out the precise problem you    might
  22544. just keep tweaking it until it works.  See {frobnicate}    and {fudge
  22545. factor}; also see {shotgun debugging}.  2. To    {tune} or {bum} a
  22546. program; preferred usage in the U.K.
  22547.  
  22548.    :tweeter: n.  [University of Waterloo] Syn. {perf},    {chad} (sense
  22549. 1).  This term (like {woofer}) has been in use    at Waterloo since
  22550. 1972 but is elsewhere unknown.  In audio jargon,    the word refers to
  22551. the treble speaker(s) on a hi-fi.
  22552.  
  22553.    :TWENEX:: /twe'neks/ n.  The TOPS-20 operating system by {DEC}    --
  22554. the second proprietary OS for the PDP-10 -- preferred by most    PDP-10
  22555. hackers over TOPS-10 (that is, by those who were not    {{ITS}} or
  22556. {{WAITS}} partisans).  TOPS-20 began in 1969 as Bolt,    Beranek &
  22557. Newman's TENEX operating system using special paging    hardware.  By
  22558. the early 1970s, almost all of the systems on the    ARPANET ran TENEX.
  22559. DEC purchased the rights to TENEX from BBN and    began work to make
  22560. it their own.  The first in-house code name for    the operating system
  22561. was VIROS (VIRtual memory Operating System);    when customers started
  22562. asking questions, the name was changed to    SNARK so DEC could
  22563. truthfully deny that there was any project    called VIROS.  When the
  22564. name SNARK became known, the name was    briefly reversed to become
  22565. KRANS; this was quickly abandoned when    someone objected that `krans'
  22566. meant `funeral wreath' in Swedish    (though some Swedish speakers have
  22567. since said it means simply    `wreath'; this part of the story may be
  22568. apocryphal).  Ultimately    DEC picked TOPS-20 as the name of the
  22569. operating system, and it was    as TOPS-20 that it was marketed.  The
  22570. hacker community, mindful of    its origins, quickly dubbed it TWENEX
  22571. (a contraction of `twenty    TENEX'), even though by this point very
  22572. little of the original    TENEX code remained (analogously to the
  22573. differences between AT&T V6    Unix and BSD).  DEC people cringed when
  22574. they heard "TWENEX", but    the term caught on nevertheless (the
  22575. written abbreviation `20x'    was also used).  TWENEX was successful
  22576. and very popular; in fact,    there was a period in the early 1980s
  22577. when it commanded as fervent    a culture of partisans as Unix or ITS
  22578. -- but DEC's decision to    scrap all the internal rivals to the VAX
  22579. architecture and its    relatively stodgy VMS OS killed the DEC-20 and
  22580. put a sad end to    TWENEX's brief day in the sun.  DEC attempted to
  22581. convince TOPS-20    users to convert to {VMS}, but instead, by the late
  22582. 1980s, most    of the TOPS-20 hackers had migrated to Unix.
  22583.  
  22584.    :twiddle: n.  1. Tilde (ASCII 1111110, `~').  Also called
  22585. `squiggle', `sqiggle' (sic -- pronounced /skig'l/), and    `twaddle',
  22586. but twiddle is the most common term.  2. A small and    insignificant
  22587. change to a program.  Usually fixes one bug and    generates several
  22588. new ones (see also {shotgun debugging}).     3. vt. To change something
  22589. in a small way.  Bits, for example, are    often twiddled.  Twiddling a
  22590. switch or {knobs} implies much less sense    of purpose than toggling
  22591. or tweaking it; see {frobnicate}.  To    speak of twiddling a bit
  22592. connotes aimlessness, and at best doesn't    specify what you're doing
  22593. to the bit; `toggling a bit' has a more    specific meaning (see {bit
  22594. twiddling}, {toggle}).  4.     Uncommon name for the {twirling baton}
  22595. prompt.
  22596.  
  22597.    :twilight zone: n. //  [IRC] Notionally, the area of    cyberspace
  22598. where {IRC} operators live.  An {op} is said to    have a "connection
  22599. to the twilight zone".
  22600.  
  22601.    :twink: /twink/ n.  1. [Berkeley] A clue-repellant user;    the next
  22602. step beyond a clueless one.  2. [UCSC] A {read-only    user}.  Also
  22603. reported on the Usenet group soc.motss; may    derive from gay slang
  22604. for a cute young thing with nothing upstairs    (compare mainstream
  22605. `chick').
  22606.  
  22607.    :twirling baton: n.  [PLATO] The overstrike sequence -/|\-/|\-
  22608. which produces an animated twirling baton.  If you output it with a
  22609. single backspace between characters, the baton spins in place.  If
  22610. you output the sequence BS SP between characters, the baton spins
  22611. from left to right.  If you output BS SP BS BS between characters,
  22612. the baton spins from right to left.  This is also occasionally
  22613. called a twiddle prompt.
  22614.  
  22615.    The twirling baton was a popular component of animated signature
  22616. files on the pioneering PLATO educational timesharing system.  The
  22617. `archie' Internet service is perhaps the best-known baton    program
  22618. today; it uses the twirling baton as an idler indicating    that the
  22619. program is working on a query.  The twirling baton is also    used as a
  22620. boot progress indicator on several BSD variants of Unix;    if it stops
  22621. you're probably going to have a long and trying day.
  22622.  
  22623.    :two pi: quant.  The number of years it takes to finish one's
  22624. thesis.  Occurs in stories in the following form: "He started on    his
  22625. thesis; 2 pi years later..."
  22626.  
  22627.    :two-to-the-N: quant.  An amount much larger than {N} but    smaller
  22628. than {infinity}.  "I have 2-to-the-N things to    do before I can go
  22629. out for lunch" means you probably won't show    up.
  22630.  
  22631.    :twonkie: /twon'kee/ n.  The software equivalent of a    Twinkie (a
  22632. variety of sugar-loaded junk food, or (in gay slang with    a small t)
  22633. the male equivalent of `chick'); a useless    `feature' added to look
  22634. sexy and placate a {marketroid}    (compare {Saturday-night special}).
  22635. The term may also be    related to "The Twonky", title menace of a
  22636. classic SF short    story by Lewis Padgett (Henry Kuttner and C. L.
  22637. Moore), first    published in the September 1942 "Astounding Science
  22638. Fiction"    and subsequently much anthologized.
  22639.  
  22640. = U =
  22641. =====
  22642.  
  22643.    :u-: pref.  Written shorthand for {micro-}; techspeak when
  22644. applied to metric units, jargon when used otherwise.  Derived from
  22645. the Greek letter    "mu",    the first letter of "micro" (and which
  22646. letter looks a lot like the English letter "u").
  22647.  
  22648.    :UBD: /U-B-D/ n.  [abbreviation for `User Brain Damage']    An
  22649. abbreviation used to close out trouble reports obviously due to
  22650. utter cluelessness on the user's part.  Compare {pilot error};
  22651. oppose {PBD}; see also {brain-damaged}.
  22652.  
  22653.    :UBE: // n.  [abbrev., Unsolicilted Bulk Email] A    widespread,
  22654. more formal term for email {spam}. Compare    {UCE}. The UBE term
  22655. recognizes that spam is uttered by nonprofit    and advocacy groups
  22656. whose motives are not commercial.
  22657.  
  22658.    :UCE: n.  [abbrev., Unsolicited Commercial Email] A    widespread,
  22659. more formal term for email {spam}. Compare    {UBE}, which may be
  22660. superseding it.
  22661.  
  22662.    :UDP:  /U-D-P/ v.,n.  [Usenet] Abbreviation for {Usenet    Death
  22663. Penalty}. Common (probably now more so than the full form),    and
  22664. frequently verbed. Compare {IDP}.
  22665.  
  22666.    :UN*X: n.  Used to refer to the Unix operating system (a
  22667. trademark of AT&T) in writing, but avoiding the need for the ugly
  22668. {(TM)} typography.      Also used to refer to any or all varieties of
  22669. Unixoid operating    systems.  Ironically, lawyers now say that the
  22670. requirement for the    TM-postfix has no legal force, but the asterisk
  22671. usage is    entrenched anyhow.  It has been suggested that there may be
  22672. a    psychological connection to practice in certain religions
  22673. (especially Judaism) in which the name of the deity is never    written
  22674. out in full, e.g., `YHWH' or `G-d' is used.  See also    {glob}.
  22675.  
  22676.    :undefined external reference: excl.  [Unix] A message from
  22677. Unix's linker.  Used in speech to flag loose ends or dangling
  22678. references in an argument or discussion.
  22679.  
  22680.    :under the hood: adj.  [hot-rodder talk] 1. Used to introduce the
  22681. underlying implementation of a product (hardware, software, or
  22682. idea).  Implies that the implementation is not intuitively obvious
  22683. from the appearance, but the speaker is about to enable the    listener
  22684. to {grok} it.  "Let's now look under the hood to see    how ...." 2.
  22685. Can also imply that the implementation is much    simpler than the
  22686. appearance would indicate: "Under the hood, we    are just fork/execing
  22687. the shell."  3. Inside a chassis, as in    "Under the hood, this baby
  22688. has a 40MHz 68030!"
  22689.  
  22690.    :undocumented feature: n.  See {feature}.
  22691.  
  22692.    :uninteresting: adj.  1. Said of a problem that, although
  22693. {nontrivial}, can be solved simply by throwing sufficient    resources
  22694. at it.  2. Also said of problems for which a solution    would neither
  22695. advance the state of the art nor be fun to design and    code.
  22696.  
  22697.    Hackers regard uninteresting problems as intolerable wastes of
  22698. time, to be solved (if at all) by lesser mortals.  _Real_    hackers
  22699. (see {toolsmith}) generalize uninteresting problems    enough to make
  22700. them interesting and solve them -- thus solving the    original problem
  22701. as a special case (and, it must be admitted,    occasionally turning a
  22702. molehill into a mountain, or a mountain into    a tectonic plate).  See
  22703. {WOMBAT}, {SMOP}; compare {toy    problem}, oppose {interesting}.
  22704.  
  22705.    :Unix:: /yoo'niks/ n.  [In the authors' words, "A weak pun    on
  22706. Multics"; very early on it was `UNICS'] (also `UNIX') An    interactive
  22707. time-sharing system invented in 1969 by Ken Thompson    after Bell Labs
  22708. left the Multics project, originally so he could    play games on his
  22709. scavenged PDP-7.  Dennis Ritchie, the inventor of    C, is considered a
  22710. co-author of the system.  The turning point in    Unix's history came
  22711. when it was reimplemented almost entirely in C    during 1972-1974,
  22712. making it the first source-portable OS.  Unix    subsequently underwent
  22713. mutations and expansions at the hands of    many different people,
  22714. resulting in a uniquely flexible and    developer-friendly environment.
  22715. By 1991, Unix had become the most    widely used multiuser
  22716. general-purpose operating system in the    world.  Many people consider
  22717. this the most important victory yet of    hackerdom over industry
  22718. opposition (but see {Unix weenie} and    {Unix conspiracy} for an
  22719. opposing point of view).  See    {Version 7}, {BSD}, {USG Unix},
  22720. {Linux}.
  22721.  
  22722.    Some people are confused over whether this word is appropriately
  22723. `UNIX' or `Unix'; both forms are common, and used interchangeably.
  22724. Dennis Ritchie says that the `UNIX' spelling originally happened in
  22725. CACM's 1974 paper "The UNIX Time-Sharing System" because "we    had a
  22726. new typesetter and {troff} had just been invented and we    were
  22727. intoxicated by being able to produce small caps."  Later, dmr    tried
  22728. to get the spelling changed to `Unix' in a couple of Bell    Labs
  22729. papers, on the grounds that the word is not acronymic.  He    failed,
  22730. and eventually (his words) "wimped out" on the issue.     So, while the
  22731. trademark today is `UNIX', both capitalizations are    grounded in
  22732. ancient usage; the Jargon File uses `Unix' in deference    to dmr's
  22733. wishes.
  22734.  
  22735.    :Unix brain damage: n.  Something that has to be done to break    a
  22736. network program (typically a mailer) on a non-Unix system so that    it
  22737. will interoperate with Unix systems.  The hack may qualify as    `Unix
  22738. brain damage' if the program conforms to published    standards and the
  22739. Unix program in question does not.  Unix brain    damage happens
  22740. because it is much easier for other (minority)    systems to change
  22741. their ways to match non-conforming behavior than    it is to change all
  22742. the hundreds of thousands of Unix systems out    there.
  22743.  
  22744.    An example of Unix brain damage is a {kluge} in a mail server to
  22745. recognize bare line feed (the Unix newline) as an equivalent form    to
  22746. the Internet standard newline, which is a carriage return    followed
  22747. by a line feed.  Such things can make even a hardened    {jock} weep.
  22748.  
  22749.    :Unix conspiracy: n.  [ITS] According to a conspiracy theory    long
  22750. popular among {{ITS}} and {{TOPS-20}} fans, Unix's growth is    the
  22751. result of a plot, hatched during the 1970s at Bell Labs, whose
  22752. intent was to hobble AT&T's competitors by making them dependent
  22753. upon a system whose future evolution was to be under AT&T's    control.
  22754. This would be accomplished by disseminating an operating    system
  22755. that is apparently inexpensive and easily portable, but also
  22756. relatively unreliable and insecure (so as to require continuing
  22757. upgrades from AT&T).  This theory was lent a substantial impetus in
  22758. 1984 by the paper referenced in the {back door} entry.
  22759.  
  22760.    In this view, Unix was designed to be one of the first computer
  22761. viruses (see {virus}) -- but a virus spread to computers    indirectly
  22762. by people and market forces, rather than directly    through disks and
  22763. networks.  Adherents of this `Unix virus' theory    like to cite the
  22764. fact that the well-known quotation "Unix is snake    oil" was uttered
  22765. by {DEC} president Kenneth Olsen shortly before DEC    began actively
  22766. promoting its own family of Unix workstations.     (Olsen now claims to
  22767. have been misquoted.)
  22768.  
  22769.    [If there was ever such a conspiracy, it got thoroughly out of the
  22770. plotters' control after 1990.  AT&T sold its UNIX operation to
  22771. Novell around the same time {Linux} and other free-UNIX
  22772. distributions were beginning to make noise. --ESR]
  22773.  
  22774.    :Unix weenie: n.  [ITS] 1. A derogatory play on `Unix wizard',
  22775. common among hackers who use Unix by necessity but would prefer
  22776. alternatives.  The implication is that although the person in
  22777. question may consider mastery of Unix arcana to be a wizardly    skill,
  22778. the only real skill involved is the ability to tolerate (and    the bad
  22779. taste to wallow in) the incoherence and needless complexity    that is
  22780. alleged to infest many Unix programs.  "This shell script    tries to
  22781. parse its arguments in 69 bletcherous ways.  It must have    been
  22782. written by a real Unix weenie."  2. A derogatory term for    anyone who
  22783. engages in uncritical praise of Unix.  Often appearing    in the
  22784. context "stupid Unix weenie".  See {Weenix}, {Unix    conspiracy}.  See
  22785. also {weenie}.
  22786.  
  22787.    :unixism: n.  A piece of code or a coding technique that    depends
  22788. on the protected multi-tasking environment with relatively    low
  22789. process-spawn overhead that exists on virtual-memory Unix    systems.
  22790. Common {unixism}s include: gratuitous use of    `fork(2)'; the
  22791. assumption that certain undocumented but    well-known features of Unix
  22792. libraries such as `stdio(3)' are    supported elsewhere; reliance on
  22793. {obscure} side-effects of    system calls (use of `sleep(2)' with a 0
  22794. argument to clue the    scheduler that you're willing to give up your
  22795. time-slice, for    example); the assumption that freshly allocated
  22796. memory is zeroed;    and the assumption that fragmentation problems
  22797. won't arise from    never `free()'ing memory.  Compare {vaxocentrism};
  22798. see also    {New Jersey}.
  22799.  
  22800.    :unswizzle: v.  See {swizzle}.
  22801.  
  22802.    :unwind the stack: vi.  1. [techspeak] During the    execution of a
  22803. procedural language, one is said to `unwind the    stack' from a called
  22804. procedure up to a caller when one discards the    stack frame and any
  22805. number of frames above it, popping back up to    the level of the given
  22806. caller.  In C this is done with    `longjmp'/`setjmp', in LISP or C++
  22807. with    `throw/catch'.  See also {smash the stack}.  2. People can
  22808. unwind the stack as well, by quickly dealing with a bunch of
  22809. problems: "Oh heck, let's do lunch.  Just a second while I unwind    my
  22810. stack."
  22811.  
  22812.    :unwind-protect: n.  [MIT: from the name of a LISP operator] A
  22813. task you must remember to perform before you leave a place or    finish
  22814. a project.  "I have an unwind-protect to call my advisor."
  22815.  
  22816.    :up: adj.  1. Working, in order.  "The down escalator is    up."
  22817. Oppose {down}.  2. `bring up': vt. To create a working    version and
  22818. start it.  "They brought up a down system."     3. `come up' vi. To
  22819. become ready for production use.
  22820.  
  22821.    :upload: /uhp'lohd/ v.  1. [techspeak] To transfer programs    or
  22822. data over a digital communications link from a smaller or    peripheral
  22823. `client' system to a larger or central `host' one.     A transfer in
  22824. the other direction is, of course, called a    {download} (but see the
  22825. note about ground-to-space comm under    that entry).  2.
  22826. [speculatively] To move the essential patterns and    algorithms that
  22827. make up one's mind from one's brain into a    computer.  Those who are
  22828. convinced that such patterns and    algorithms capture the complete
  22829. essence of the self view this    prospect with pleasant anticipation.
  22830.  
  22831.    :upthread: adv.  Earlier in the discussion (see {thread}),    i.e.,
  22832. `above'.  "As Joe pointed out upthread, ..." See    also {followup}.
  22833.  
  22834.    :urchin: n.  See {munchkin}.
  22835.  
  22836.    :URL: /U-R-L/ or /erl/ n.  Uniform Resource Locator, an    address
  22837. widget that identifies a document or resource on the    World Wide Web.
  22838. This entry is here primarily to record the fact    that the term is
  22839. commonly pronounced both /erl/, and /U-R-L/    (the latter predominates
  22840. in more formal contexts).
  22841.  
  22842.    :Usenet: /yoos'net/ or /yooz'net/ n.  [from `Users'    Network'; the
  22843. original spelling was USENET, but the mixed-case form    is now widely
  22844. preferred] A distributed {bboard} (bulletin board)    system supported
  22845. mainly by Unix machines.  Originally implemented    in 1979-1980 by
  22846. Steve Bellovin, Jim Ellis, Tom Truscott, and Steve    Daniel at Duke
  22847. University, it has swiftly grown to become    international in scope
  22848. and is now probably the largest    decentralized information utility in
  22849. existence.  As of early 1996,    it hosts over 10,000 {newsgroup}s and
  22850. an average of over 500    megabytes (the equivalent of several thousand
  22851. paper pages) of new    technical articles, news, discussion, chatter,
  22852. and {flamage}    every day (and that leaves out the graphics...).
  22853.  
  22854.    By the year the Internet hit the mainstream (1994) the original
  22855. UUCP transport for Usenet was fading out of use (see {UUCPNET})    -
  22856. almost all Usenet connections were over Internet links.  A lot    of
  22857. newbies and journalists began to refer to "Internet    newsgroups" as
  22858. though Usenet was and always had been just another    Internet service.
  22859. This ignorance greatly annoys experienced    Usenetters.
  22860.  
  22861.    :Usenet Death Penalty:  [Usenet] A sanction against sites that
  22862. habitually spew Usenet {spam}. This can be either passive or    active.
  22863. A passive UDP refers to the dropping of all postings by a
  22864. particular domain so as to inhibit propagation.  An active UDP
  22865. refers to third-party cancellation of all postings by the UDPed
  22866. domain.  A partial UDP is one which applies only to certain
  22867. newsgroups or hierarchies in Usenet.  Compare {Internet Death
  22868. Penalty}, with which this term is sometimes confused.
  22869.  
  22870.    :user: n.  1. Someone doing `real work' with the computer,    using
  22871. it as a means rather than an end.  Someone who pays to use a
  22872. computer.  See {real user}.  2. A programmer who will believe
  22873. anything you tell him.  One who asks silly questions.  [GLS
  22874. observes: This is slightly unfair.  It is true that users ask
  22875. questions (of necessity).  Sometimes they are thoughtful or deep.
  22876. Very often they are annoying or downright stupid, apparently    because
  22877. the user failed to think for two seconds or look in the
  22878. documentation before bothering the maintainer.]  See {luser}.     3.
  22879. Someone who uses a program from the outside, however skillfully,
  22880. without getting into the internals of the program.  One who reports
  22881. bugs instead of just going ahead and fixing them.
  22882.  
  22883.    The general theory behind this term is that there are two classes
  22884. of people who work with a program: there are implementors (hackers)
  22885. and {luser}s.  The users are looked down on by hackers to some
  22886. extent because they don't understand the full ramifications of the
  22887. system in all its glory.  (The few users who do are known as    `real
  22888. winners'.)  The term is a relative one: a skilled hacker    may be a
  22889. user with respect to some program he himself does not    hack.  A LISP
  22890. hacker might be one who maintains LISP or one who    uses LISP (but
  22891. with the skill of a hacker).  A LISP user is one who    uses LISP,
  22892. whether skillfully or not.  Thus there is some overlap    between the
  22893. two terms; the subtle distinctions must be resolved by    context.
  22894.  
  22895.    :user-friendly: adj.  Programmer-hostile.  Generally used by
  22896. hackers in a critical tone, to describe systems that hold the    user's
  22897. hand so obsessively that they make it painful for the more
  22898. experienced and knowledgeable to get any work done.  See    {menuitis},
  22899. {drool-proof paper}, {Macintrash},    {user-obsequious}.
  22900.  
  22901.    :user-obsequious: adj.  Emphatic form of {user-friendly}.
  22902. Connotes a system so verbose, inflexible, and determinedly
  22903. simple-minded that it is nearly unusable.  "Design a system any    fool
  22904. can use and only a fool will want to use it."  See {WIMP
  22905. environment}, {Macintrash}.
  22906.  
  22907.    :USG Unix: /U-S-G yoo'niks/ n.  Refers to AT&T Unix    commercial
  22908. versions after {Version 7}, especially System III and    System V
  22909. releases 1, 2, and 3.  So called because during most of    the lifespan
  22910. of those versions AT&T's support crew was called the    `Unix Support
  22911. Group'.  See {BSD}, {{Unix}}.
  22912.  
  22913.    :UTSL: // n.  [Unix] On-line acronym for `Use the Source, Luke' (a
  22914. pun on Obi-Wan Kenobi's "Use the Force, Luke!" in "Star    Wars") --
  22915. analogous to {RTFS} (sense 1), but more polite.  This    is a common
  22916. way of suggesting that someone would be better off    reading the
  22917. source code that supports whatever feature is causing    confusion,
  22918. rather than making yet another futile pass through the    manuals, or
  22919. broadcasting questions on Usenet that haven't attracted    {wizard}s to
  22920. answer them.
  22921.  
  22922.    Once upon a time in {elder days}, everyone running Unix had
  22923. source.  After 1978, AT&T's policy tightened up, so this    objurgation
  22924. was in theory appropriately directed only at associates    of some
  22925. outfit with a Unix source license.  In practice, bootlegs    of Unix
  22926. source code (made precisely for reference purposes) were so
  22927. ubiquitous that one could utter it at almost anyone on the network
  22928. without concern.
  22929.  
  22930.    Nowadays, free Unix clones have become widely enough distributed
  22931. that anyone can read source legally.  The most widely distributed    is
  22932. certainly Linux, with variants of the NET/2 and 4.4BSD    distributions
  22933. running second.  Cheap commercial Unixes with source    such as BSD/OS
  22934. are accelerating this trend.
  22935.  
  22936.    :UUCPNET: n. obs.  The store-and-forward network consisting of all
  22937. the world's connected Unix machines (and others running some clone
  22938. of the UUCP (Unix-to-Unix CoPy) software).  Any machine reachable
  22939. only via a {bang path} is on UUCPNET.  This term has been    rendered
  22940. obsolescent by the spread of cheap Internet connections in    the
  22941. 1990s; the few remaining UUCP links are essentially slow    channels to
  22942. the Internet rather than an autonomous network.  See    {network
  22943. address}.
  22944.  
  22945. = V =
  22946. =====
  22947.  
  22948.    :V7: /V'sev'en/ n.  See {Version 7}.
  22949.  
  22950.    :vadding: /vad'ing/ n.  [from VAD, a permutation of ADV    (i.e.,
  22951. {ADVENT}), used to avoid a particular {admin}'s    continual
  22952. search-and-destroy sweeps for the game] A leisure-time    activity of
  22953. certain hackers involving the covert exploration of the    `secret'
  22954. parts of large buildings -- basements, roofs, freight    elevators,
  22955. maintenance crawlways, steam tunnels, and the like.  A    few go so far
  22956. as to learn locksmithing in order to synthesize    vadding keys.  The
  22957. verb is `to vad' (compare {phreaking}; see    also {hack}, sense 9).
  22958. This term dates from the late 1970s,    before which such activity was
  22959. simply called `hacking'; the older    usage is still prevalent at MIT.
  22960.  
  22961.    The most extreme and dangerous form of vadding is `elevator
  22962. rodeo', a.k.a. `elevator surfing', a sport played by wrasslin'    down
  22963. a thousand-pound elevator car with a 3-foot piece of    string, and
  22964. then exploiting this mastery in various stimulating    ways (such as
  22965. elevator hopping, shaft exploration, rat-racing, and    the
  22966. ever-popular drop experiments).  Kids, don't try this at home!     See
  22967. also {hobbit} (sense 2).
  22968.  
  22969.    :vanilla: adj.  [from the default flavor of ice cream in the
  22970. U.S.]  Ordinary {flavor}, standard.  When used of food, very    often
  22971. does not mean that the food is flavored with vanilla extract!     For
  22972. example, `vanilla wonton soup' means ordinary wonton soup, as
  22973. opposed to hot-and-sour wonton soup.  Applied to hardware and
  22974. software, as in "Vanilla Version 7 Unix can't run on a vanilla
  22975. 11/34."  Also used to orthogonalize chip nomenclature; for    instance,
  22976. a 74V00 means what TI calls a 7400, as distinct from a    74LS00, etc.
  22977. This word differs from {canonical} in that the    latter means
  22978. `default', whereas vanilla simply means    `ordinary'.  For example,
  22979. when hackers go on a {great-wall},    hot-and-sour soup is the
  22980. {canonical} soup to get (because that    is what most of them usually
  22981. order) even though it isn't the    vanilla (wonton) soup.
  22982.  
  22983.    :vanity domain: n.  [common; from `vanity plate' as in    car
  22984. license plate] An Internet domain, particularly in    the .com or .org
  22985. top-level domains, apparently created for no    reason other than
  22986. boosting the creator's ego.
  22987.  
  22988.    :vannevar: /van'*-var/ n.  A bogus technological prediction    or a
  22989. foredoomed engineering concept, esp. one that fails by    implicitly
  22990. assuming that technologies develop linearly,    incrementally, and in
  22991. isolation from one another when in fact the    learning curve tends to
  22992. be highly nonlinear, revolutions are    common, and competition is the
  22993. rule.  The prototype was Vannevar    Bush's prediction of `electronic
  22994. brains' the size of the Empire    State Building with a
  22995. Niagara-Falls-equivalent cooling system for    their tubes and relays,
  22996. a prediction made at a time when the    semiconductor effect had
  22997. already been demonstrated.  Other famous    vannevars have included
  22998. magnetic-bubble memory, LISP machines,    {videotex}, and a paper from
  22999. the late 1970s that computed a    purported ultimate limit on areal
  23000. density for ICs that was in fact    less than the routine densities of
  23001. 5 years later.
  23002.  
  23003.    :vaporware: /vay'pr-weir/ n.  Products announced far in    advance
  23004. of any release (which may or may not actually take place).     See also
  23005. {brochureware}.
  23006.  
  23007.    :var: /veir/ or /var/ n.  Short for `variable'.     Compare {arg},
  23008. {param}.
  23009.  
  23010.    :vaston: n.  [Durham, UK] The unit of `load average'. A    measure
  23011. of how much work a computer is doing. A meter displaying    this as a
  23012. function of time is known as a `vastometer'. First used    in during a
  23013. computing practical in December 1996.
  23014.  
  23015.    :VAX: /vaks/ n.  1. [from Virtual Address eXtension] The    most
  23016. successful minicomputer design in industry history, possibly
  23017. excepting its immediate ancestor, the PDP-11.  Between its release
  23018. in 1978 and its eclipse by {killer micro}s after about 1986, the    VAX
  23019. was probably the hacker's favorite machine of them all, esp.     after
  23020. the 1982 release of 4.2 BSD Unix (see {BSD}).  Esp.     noted for its
  23021. large, assembler-programmer-friendly instruction set    -- an asset
  23022. that became a liability after the RISC revolution.     2. A major brand
  23023. of vacuum cleaner in Britain.  Cited here because    its sales pitch,
  23024. "Nothing sucks like a VAX!" became a sort of    battle-cry of RISC
  23025. partisans.  It is even sometimes claimed that    DEC actually entered a
  23026. cross-licensing deal with the vacuum-Vax    people that allowed them to
  23027. market VAX computers in the U.K. in    return for not challenging the
  23028. vacuum cleaner trademark in the    U.S.
  23029.  
  23030.    A rival brand actually pioneered the slogan: its original form was
  23031. "Nothing sucks like Electrolux".  It has apparently become a classic
  23032. example (used in advertising textbooks) of the perils of not knowing
  23033. the local idiom.  But in 1996, the press manager of Electrolux AB,
  23034. while confirming that the company used this slogan in the late 1960s,
  23035. also tells us that their marketing people were fully aware of the
  23036. possible double entendre and intended it to gain attention.
  23037.  
  23038.    And gain attention it did - the VAX-vacuum-cleaner people thought
  23039. the slogan a sufficiently good idea to copy it.  Several British
  23040. hackers report that VAX's promotions used it in 1986-1987, and we
  23041. have one report from a New Zealander that the infamous slogan
  23042. surfaced there in TV ads for the product in 1992.
  23043.  
  23044.    :VAXectomy: /vak-sek't*-mee/ n.  [by analogy with    `vasectomy'] A
  23045. VAX removal.  {DEC}'s Microvaxen, especially, are    much slower than
  23046. newer RISC-based workstations such as the SPARC.     Thus, if one knows
  23047. one has a replacement coming, VAX removal can be    cause for
  23048. celebration.
  23049.  
  23050.    :VAXen: /vak'sn/ n.  [from `oxen', perhaps influenced by    `vixen']
  23051. (alt. `vaxen') The plural canonically used among    hackers for the
  23052. {DEC} VAX computers.  "Our installation has four    PDP-10s and twenty
  23053. vaxen."  See {boxen}.
  23054.  
  23055.    :vaxherd: /vaks'herd/ n. obs.  [from `oxherd'] A VAX    operator.
  23056. The image is reinforced because VAXen actually did tend    to come in
  23057. herds, technically known as `clusters'.
  23058.  
  23059.    :vaxism: /vak'sizm/ n.  A piece of code that exhibits
  23060. {vaxocentrism} in critical areas.  Compare {PC-ism},    {unixism}.
  23061.  
  23062.    :vaxocentrism: /vak`soh-sen'trizm/ n.  [analogy with
  23063. `ethnocentrism'] A notional disease said to afflict C programmers
  23064. who persist in coding according to certain assumptions that are
  23065. valid (esp. under Unix) on {VAXen} but false elsewhere. Among    these
  23066. are:
  23067.  
  23068.   1. The assumption that dereferencing a null pointer is safe because it
  23069.      is all bits 0, and location 0 is readable and 0.  Problem: this may
  23070.      instead cause an illegal-address trap on non-VAXen, and even on
  23071.      VAXen under OSes other than BSD Unix.  Usually this is an implicit
  23072.      assumption of sloppy code (forgetting to check the pointer before
  23073.      using it), rather than deliberate exploitation of a misfeature.
  23074.  
  23075.   2. The assumption that characters are signed.
  23076.  
  23077.   3. The assumption that a pointer to any one type can freely be cast
  23078.      into a pointer to any other type.  A stronger form of this is the
  23079.      assumption that all pointers are the same size and format, which
  23080.      means you don't have to worry about getting the casts or types
  23081.      correct in calls.  Problem: this fails on word-oriented machines
  23082.      or others with multiple pointer formats.
  23083.  
  23084.   4. The assumption that the parameters of a routine are stored in
  23085.      memory, on a stack, contiguously, and in strictly ascending or
  23086.      descending order.  Problem: this fails on many RISC architectures.
  23087.  
  23088.   5. The assumption that pointer and integer types are the same size,
  23089.      and that pointers can be stuffed into integer variables (and
  23090.      vice-versa) and drawn back out without being truncated or mangled.
  23091.      Problem: this fails on segmented architectures or word-oriented
  23092.      machines with funny pointer formats.
  23093.  
  23094.   6. The assumption that a data type of any size may begin at any byte
  23095.      address in memory (for example, that you can freely construct and
  23096.      dereference a pointer to a word- or greater-sized object at an odd
  23097.      char address).  Problem: this fails on many (esp. RISC)
  23098.      architectures better optimized for {HLL} execution speed, and can
  23099.      cause an illegal address fault or bus error.
  23100.  
  23101.   7. The (related) assumption that there is no padding at the end of
  23102.      types and that in an array you can thus step right from the last
  23103.      byte of a previous component to the first byte of the next one.
  23104.      This is not only machine- but compiler-dependent.
  23105.  
  23106.   8. The assumption that memory address space is globally flat and that
  23107.      the array reference `foo[-1]' is necessarily valid.  Problem: this
  23108.      fails at 0, or other places on segment-addressed machines like
  23109.      Intel chips (yes, segmentation is universally considered a
  23110.      {brain-damaged} way to design machines (see {moby}), but that is a
  23111.      separate issue).
  23112.  
  23113.   9. The assumption that objects can be arbitrarily large with no
  23114.      special considerations.  Problem: this fails on segmented
  23115.      architectures and under non-virtual-addressing environments.
  23116.  
  23117.  10. The assumption that the stack can be as large as memory.  Problem:
  23118.      this fails on segmented architectures or almost anything else
  23119.      without virtual addressing and a paged stack.
  23120.  
  23121.  11. The assumption that bits and addressable units within an object
  23122.      are ordered in the same way and that this order is a constant of
  23123.      nature.  Problem: this fails on {big-endian} machines.
  23124.  
  23125.  12. The assumption that it is meaningful to compare pointers to
  23126.      different objects not located within the same array, or to objects
  23127.      of different types.  Problem: the former fails on segmented
  23128.      architectures, the latter on word-oriented machines or others with
  23129.      multiple pointer formats.
  23130.  
  23131.  13. The assumption that an `int' is 32 bits, or (nearly equivalently)
  23132.      the assumption that `sizeof(int) == sizeof(long)'.  Problem: this
  23133.      fails on PDP-11s, 286-based systems and even on 386 and 68000
  23134.      systems under some compilers.
  23135.  
  23136.  14. The assumption that `argv[]' is writable.  Problem: this fails in
  23137.      many embedded-systems C environments and even under a few flavors
  23138.      of Unix.
  23139.  
  23140. Note that a programmer can validly be accused of vaxocentrism    even
  23141. if he or she has never seen a VAX.  Some of these assumptions    (esp.
  23142. 2-5) were valid on the PDP-11, the original C machine, and    became
  23143. endemic years before the VAX.  The terms `vaxocentricity'    and
  23144. `all-the-world's-a-VAX syndrome' have been used synonymously.
  23145.  
  23146.    :vdiff: /vee'dif/ v.,n.  Visual diff.  The operation of    finding
  23147. differences between two files by {eyeball search}.  The    term
  23148. `optical diff' has also been reported, and is sometimes more
  23149. specifically used for the act of superimposing two nearly identical
  23150. printouts on one another and holding them up to a light to spot
  23151. differences.  Though this method is poor for detecting omissions in
  23152. the `rear' file, it can also be used with printouts of graphics, a
  23153. claim few if any diff programs can make.  See {diff}.
  23154.  
  23155.    :veeblefester: /vee'b*l-fes`tr/ n.  [from the    "Born Loser" comix
  23156. via Commodore; prob. originally from    "Mad" Magazine's `Veeblefetzer'
  23157. parodies beginning in #15,    1954] Any obnoxious person engaged in the
  23158. (alleged) professions of    marketing or management.  Antonym of
  23159. {hacker}.  Compare    {suit}, {marketroid}.
  23160.  
  23161.    :velveeta: n.  [Usenet: by analogy with {spam}] Also    knows as
  23162. {ECP}; a message that is excessively cross-posted, as    opposed to
  23163. {spam} which is too frequently posted.  This term is    widely
  23164. recognized but not commonly used; most people refer to both    kinds of
  23165. abuse as spam. Compare {jello}.
  23166.  
  23167.    :ventilator card: n.  Syn. {lace card}.
  23168.  
  23169.    :Venus flytrap: n.  [after the insect-eating plant] See    {firewall
  23170. machine}.
  23171.  
  23172.    :verbage: /ver'b*j/ n.  A deliberate misspelling and
  23173. mispronunciation of {verbiage} that assimilates it to the word
  23174. `garbage'.  Compare {content-free}.  More pejorative than
  23175. `verbiage'.
  23176.  
  23177.    :verbiage: n.  When the context involves a software or    hardware
  23178. system, this refers to {{documentation}}.  This term    borrows the
  23179. connotations of mainstream `verbiage' to suggest that    the
  23180. documentation is of marginal utility and that the motives    behind its
  23181. production have little to do with the ostensible    subject.
  23182.  
  23183.    :Version 7: alt. V7 /vee' se'vn/ n.  The first widely    distributed
  23184. version of {Unix}, released unsupported by Bell Labs    in 1978.  The
  23185. term is used adjectivally to describe Unix features    and programs
  23186. that date from that release, and are thus guaranteed    to be present
  23187. and portable in all Unix versions (this was the    standard gauge of
  23188. portability before the POSIX and IEEE 1003    standards).  Note that
  23189. this usage does _not_ derive from the    release being the "seventh
  23190. version of {Unix}"; research    {Unix} at Bell Labs has traditionally
  23191. been numbered according to    the edition of the associated
  23192. documentation.  Indeed, only the    widely-distributed Sixth and
  23193. Seventh Editions are widely known as    V[67]; the OS that might today
  23194. be known as `V10' is instead known    in full as "Tenth Edition
  23195. Research Unix" or just "Tenth    Edition" for short.  For this reason,
  23196. "V7" is often read by    cognoscenti as "Seventh Edition".  See {BSD},
  23197. {USG Unix},    {{Unix}}.  Some old-timers impatient with
  23198. commercialization and    kernel bloat still maintain that V7 was the
  23199. Last True Unix.
  23200.  
  23201.    :vgrep: /vee'grep/ v.,n.  Visual grep.  The operation of    finding
  23202. patterns in a file optically rather than digitally (also    called an
  23203. `optical grep').  See {grep}; compare {vdiff}.
  23204.  
  23205.    :vi: /V-I/, _not_ /vi:/ and _never_ /siks/ n.      [from `Visual
  23206. Interface'] A screen editor crufted together by    Bill Joy for an
  23207. early {BSD} release.  Became the de facto    standard Unix editor and a
  23208. nearly undisputed hacker favorite    outside of MIT until the rise of
  23209. {EMACS} after about 1984.     Tends to frustrate new users no end, as
  23210. it will neither take    commands while expecting input text nor vice
  23211. versa, and the default    setup on older versions provides no
  23212. indication of which mode the    editor is in (years ago, a
  23213. correspondent reported that he has often    heard the editor's name
  23214. pronounced /vi:l/; there is now a vi    clone named `vile').
  23215. Nevertheless vi (and variants such as vim    and elvis) is still widely
  23216. used (about half the respondents in a    1991 Usenet poll preferred
  23217. it), and even EMACS fans often resort to    it as a mail editor and for
  23218. small editing jobs (mainly because it    starts up faster than the
  23219. bulkier versions of EMACS).  See    {holy wars}.
  23220.  
  23221.    :video toaster: n.  Historically, an Amiga running    LightWave and
  23222. fitted out with a particular line of special    video-display hardware
  23223. from NewTek - long a popular platform at    special-effects and videop
  23224. production houses.  More generally, any    computer system designed
  23225. specifically for video production and    manipulation.  Compare {web
  23226. toaster} and see {toaster}.
  23227.  
  23228.    :videotex: n. obs.  An electronic service offering people the
  23229. privilege of paying to read the weather on their television screens
  23230. instead of having somebody read it to them for free while they    brush
  23231. their teeth.  The idea bombed everywhere it wasn't
  23232. government-subsidized, because by the time videotex was practical
  23233. the installed base of personal computers could hook up to
  23234. timesharing services and do the things for which videotex might    have
  23235. been worthwhile better and cheaper.  Videotex planners badly
  23236. overestimated both the appeal of getting information from a    computer
  23237. and the cost of local intelligence at the user's end.     Like the
  23238. {gorilla arm} effect, this has been a cautionary tale    to hackers
  23239. ever since.  See also {vannevar}.
  23240.  
  23241.    :virgin: adj.  Unused; pristine; in a known initial state.
  23242. "Let's bring up a virgin system and see if it crashes again."     (Esp.
  23243. useful after contracting a {virus} through {SEX}.)     Also, by
  23244. extension, buffers and the like within a program that have    not yet
  23245. been used.
  23246.  
  23247.    :virtual: adj.  [via the technical term `virtual memory',    prob.
  23248. from the term `virtual image' in optics] 1. Common    alternative to
  23249. {logical}; often used to refer to the artificial    objects (like
  23250. addressable virtual memory larger than physical    memory) simulated by
  23251. a computer system as a convenient way to manage    access to shared
  23252. resources.  2. Simulated; performing the functions    of something that
  23253. isn't really there.  An imaginative child's doll    may be a virtual
  23254. playmate.  Oppose {real}.
  23255.  
  23256.    :virtual beer: n.  Praise or thanks. Used universally in    the
  23257. Linux community. Originally this term signified cash, after a    famous
  23258. incident in which some some Britishers who wanted to buy    Linus a
  23259. beer and sent him money to Finland to do so.
  23260.  
  23261.    :virtual Friday: n.  (also `logical Friday') The last day    before
  23262. an extended weekend, if that day is not a `real' Friday.     For
  23263. example, the U.S. holiday Thanksgiving is always on a Thursday.     The
  23264. next day is often also a holiday or taken as an extra day off,    in
  23265. which case Wednesday of that week is a virtual Friday (and    Thursday
  23266. is a virtual Saturday, as is Friday).  There are also    `virtual
  23267. Mondays' that are actually Tuesdays, after the three-day    weekends
  23268. associated with many national holidays in the U.S.
  23269.  
  23270.    :virtual reality: n.  1. Computer simulations that use 3-D
  23271. graphics and devices such as the Dataglove to allow the user to
  23272. interact with the simulation.  See {cyberspace}.  2. A form of
  23273. network interaction incorporating aspects of role-playing games,
  23274. interactive theater, improvisational comedy, and `true    confessions'
  23275. magazines.  In a virtual reality forum (such as    Usenet's
  23276. alt.callahans newsgroup or the {MUD} experiments on    Internet),
  23277. interaction between the participants is written like a    shared novel
  23278. complete with scenery, `foreground characters' that    may be personae
  23279. utterly unlike the people who write them, and    common `background
  23280. characters' manipulable by all parties.  The    one iron law is that
  23281. you may not write irreversible changes to a    character without the
  23282. consent of the person who `owns' it.     Otherwise anything goes.  See
  23283. {bamf}, {cyberspace},    {teledildonics}.
  23284.  
  23285.    :virtual shredder: n.  The jargonic equivalent of the {bit
  23286. bucket} at shops using IBM's VM/CMS operating system.  VM/CMS
  23287. officially supports a whole bestiary of virtual card readers,
  23288. virtual printers, and other phantom devices; these are used to
  23289. supply some of the same capabilities Unix gets from pipes and I/O
  23290. redirection.
  23291.  
  23292.    :virus: n.  [from the obvious analogy with biological viruses,
  23293. via SF] A cracker program that searches out other programs and
  23294. `infects' them by embedding a copy of itself in them, so that    they
  23295. become {Trojan horse}s.  When these programs are executed,    the
  23296. embedded virus is executed too, thus propagating the    `infection'.
  23297. This normally happens invisibly to the user.     Unlike a {worm}, a
  23298. virus cannot infect other computers without    assistance.  It is
  23299. propagated by vectors such as humans trading    programs with their
  23300. friends (see {SEX}).  The virus may do    nothing but propagate itself
  23301. and then allow the program to run    normally.  Usually, however, after
  23302. propagating silently for a    while, it starts doing things like
  23303. writing cute messages on the    terminal or playing strange tricks with
  23304. the display (some viruses    include nice {display hack}s).  Many nasty
  23305. viruses, written by    particularly perversely minded {cracker}s, do
  23306. irreversible    damage, like nuking all the user's files.
  23307.  
  23308.    In the 1990s, viruses have become a serious problem, especially
  23309. among IBM PC and Macintosh users; the lack of security on these
  23310. machines enables viruses to spread easily, even infecting the
  23311. operating system (Unix machines, by contrast, are immune to such
  23312. attacks).  The production of special anti-virus software has become
  23313. an industry, and a number of exaggerated media reports have caused
  23314. outbreaks of near hysteria among users; many {luser}s tend to    blame
  23315. _everything_ that doesn't work as they had expected on    virus
  23316. attacks.  Accordingly, this sense of `virus' has passed not    only
  23317. into techspeak but into also popular usage (where it is often
  23318. incorrectly used to denote a {worm} or even a {Trojan    horse}).  See
  23319. {phage}; compare {back door}; see also {Unix    conspiracy}.
  23320.  
  23321.    :visionary: n.  1. One who hacks vision, in the sense of an
  23322. Artificial Intelligence researcher working on the problem of    getting
  23323. computers to `see' things using TV cameras.  (There    isn't any
  23324. problem in sending information from a TV camera to a    computer.  The
  23325. problem is, how can the computer be programmed to    make use of the
  23326. camera information?  See {SMOP},    {AI-complete}.)  2. [IBM] One who
  23327. reads the outside literature.     At IBM, apparently, such a penchant
  23328. is viewed with awe and wonder.
  23329.  
  23330.    :VMS: /V-M-S/ n.  {DEC}'s proprietary operating system for its
  23331. VAX minicomputer; one of the seven or so environments that loom
  23332. largest in hacker folklore.  Many Unix fans generously concede that
  23333. VMS would probably be the hacker's favorite commercial OS if Unix
  23334. didn't exist; though true, this makes VMS fans furious.  One major
  23335. hacker gripe with VMS concerns its slowness -- thus the following
  23336. limerick:
  23337.  
  23338.         There once was a system called VMS
  23339.         Of cycles by no means abstemious.
  23340.              It's chock-full of hacks
  23341.              And runs on a VAX
  23342.         And makes my poor stomach all squeamious.
  23343.                                          --- The Great Quux
  23344.  
  23345. See also {VAX}, {{TOPS-10}}, {{TOPS-20}}, {{Unix}}, {runic}.
  23346.  
  23347.    :voice: vt.  To phone someone, as opposed to emailing them or
  23348. connecting in {talk mode}.  "I'm busy now; I'll voice you    later."
  23349.  
  23350.    :voice-net: n.  Hackish way of referring to the telephone    system,
  23351. analogizing it to a digital network.  Usenet {sig    block}s not
  23352. uncommonly include the sender's phone next to a    "Voice:" or
  23353. "Voice-Net:" header; common variants of this are    "Voicenet" and
  23354. "V-Net".  Compare {paper-net},    {snail-mail}.
  23355.  
  23356.    :voodoo programming: n.  [from George Bush's "voodoo    economics"]
  23357. 1. The use by guess or cookbook of an {obscure} or    {hairy} system,
  23358. feature, or algorithm that one does not truly    understand.  The
  23359. implication is that the technique may not work,    and if it doesn't,
  23360. one will never know why.  Almost synonymous with    {black magic},
  23361. except that black magic typically isn't    documented and _nobody_
  23362. understands it.  Compare {magic},    {deep magic}, {heavy wizardry},
  23363. {rain dance}, {cargo    cult programming}, {wave a dead chicken}.  2.
  23364. Things programmers    do that they know shouldn't work but they try
  23365. anyway, and which    sometimes actually work, such as recompiling
  23366. everything.
  23367.  
  23368.    :VR: // [MUD] n.  On-line abbrev for {virtual reality},    as
  23369. opposed to {RL}.
  23370.  
  23371.    :Vulcan nerve pinch: n.  [from the old "Star Trek" TV    series via
  23372. Commodore Amiga hackers] The keyboard combination that    forces a
  23373. soft-boot or jump to ROM monitor (on machines that support    such a
  23374. feature).  On many micros this is Ctrl-Alt-Del; on Suns,    L1-A; on
  23375. some Macintoshes, it is <Cmd>-<Power switch>!  Also called
  23376. {three-finger salute}.  Compare {quadruple bucky}.
  23377.  
  23378.    :vulture capitalist: n.  Pejorative hackerism for `venture
  23379. capitalist', deriving from the common practice of pushing contracts
  23380. that deprive inventors of control over their own innovations and
  23381. most of the money they ought to have made from them.
  23382.  
  23383. = W =
  23384. =====
  23385.  
  23386.    :wabbit: /wab'it/ n.  [almost certainly from Elmer Fudd's
  23387. immortal line "You wascawwy wabbit!"] 1. A legendary early hack
  23388. reported on a System/360 at RPI and elsewhere around 1978; this may
  23389. have descended (if only by inspiration) from a hack called RABBITS
  23390. reported from 1969 on a Burroughs 5500 at the University of
  23391. Washington Computer Center.  The program would make two copies of
  23392. itself every time it was run, eventually crashing the system.     2. By
  23393. extension, any hack that includes infinite self-replication    but is
  23394. not a {virus} or {worm}.  See {fork bomb} and    {rabbit job}, see also
  23395. {cookie monster}.
  23396.  
  23397.    :WAITS:: /wayts/ n.  The mutant cousin of {{TOPS-10}} used    on a
  23398. handful of systems at {{SAIL}} up to 1990.  There was never    an
  23399. `official' expansion of WAITS (the name itself having been    arrived
  23400. at by a rather sideways process), but it was frequently    glossed as
  23401. `West-coast Alternative to ITS'.  Though WAITS was less    visible than
  23402. ITS, there was frequent exchange of people and ideas    between the two
  23403. communities, and innovations pioneered at WAITS    exerted enormous
  23404. indirect influence.  The early screen modes of    {EMACS}, for example,
  23405. were directly inspired by WAITS's `E'    editor -- one of a family of
  23406. editors that were the first to do    `real-time editing', in which the
  23407. editing commands were invisible    and where one typed text at the
  23408. point of insertion/overwriting.     The modern style of multi-region
  23409. windowing is said to have    originated there, and WAITS alumni at
  23410. XEROX PARC and elsewhere    played major roles in the developments that
  23411. led to the XEROX Star,    the Macintosh, and the Sun workstations.
  23412. Also invented there were    {bucky bits} -- thus, the ALT key on every
  23413. IBM PC is a WAITS    legacy.  One WAITS feature very notable in pre-Web
  23414. days was    a news-wire interface that allowed WAITS hackers to read,
  23415. store,    and filter AP and UPI dispatches from their terminals; the
  23416. system    also featured a still-unusual level of support for what is now
  23417.   called `multimedia' computing, allowing analog audio and video
  23418. signals to be switched to programming terminals.
  23419.  
  23420.    :waldo: /wol'doh/ n.  [From Robert A. Heinlein's story    "Waldo"]
  23421. 1. A mechanical agent, such as a gripper arm,    controlled by a human
  23422. limb.  When these were developed for the    nuclear industry in the
  23423. mid-1940s they were named after the    invention described by Heinlein
  23424. in the story, which he wrote in    1942.  Now known by the more generic
  23425. term `telefactoring', this    technology is of intense interest to NASA
  23426. for tasks like space    station maintenance.  2. At Harvard
  23427. (particularly by Tom Cheatham    and students), this is used instead of
  23428. {foobar} as a    metasyntactic variable and general nonsense word.  See
  23429. {foo},    {bar}, {foobar}, {quux}.
  23430.  
  23431.    :walk: n.,vt.  Traversal of a data structure, especially an    array
  23432. or linked-list data structure in {core}.  See also    {codewalker},
  23433. {silly walk}, {clobber}.
  23434.  
  23435.    :walk off the end of: vt.  To run past the end of an array,    list,
  23436. or medium after stepping through it -- a good way to land in
  23437. trouble.  Often the result of an {off-by-one error}.  Compare
  23438. {clobber}, {roach}, {smash the stack}.
  23439.  
  23440.    :walking drives: n.  An occasional failure mode of    magnetic-disk
  23441. drives back in the days when they were huge, clunky    {washing
  23442. machine}s.  Those old {dinosaur} parts carried    terrific angular
  23443. momentum; the combination of a misaligned spindle    or worn bearings
  23444. and stick-slip interactions with the floor could    cause them to
  23445. `walk' across a room, lurching alternate corners    forward a couple of
  23446. millimeters at a time.  There is a legend about    a drive that walked
  23447. over to the only door to the computer room and    jammed it shut; the
  23448. staff had to cut a hole in the wall in order to    get at it!  Walking
  23449. could also be induced by certain patterns of    drive access (a fast
  23450. seek across the whole width of the disk,    followed by a slow seek in
  23451. the other direction).  Some bands of    old-time hackers figured out
  23452. how to induce disk-accessing patterns    that would do this to
  23453. particular drive models and held disk-drive    races.
  23454.  
  23455.    :wall: interj.  [WPI] 1. An indication of confusion, usually spoken
  23456.  with a quizzical tone: "Wall??"  2. A request for further
  23457. explication.  Compare {octal forty}.  3. [Unix, from `write    all'] v.
  23458. To send a message to everyone currently logged in,    esp. with the
  23459. wall(8) utility.
  23460.  
  23461.    It is said that sense 1 came from the idiom `like talking to a
  23462. blank wall'.  It was originally used in situations where, after you
  23463. had carefully answered a question, the questioner stared at you
  23464. blankly, clearly having understood nothing that was explained.  You
  23465. would then throw out a "Hello, wall?" to elicit some sort of
  23466. response from the questioner.  Later, confused questioners began
  23467. voicing "Wall?" themselves.
  23468.  
  23469.    :wall follower: n.  A person or algorithm that compensates for
  23470. lack of sophistication or native stupidity by efficiently following
  23471. some simple procedure shown to have been effective in the past.
  23472. Used of an algorithm, this is not necessarily pejorative; it    recalls
  23473. `Harvey Wallbanger', the winning robot in an early AI    contest
  23474. (named, of course, after the cocktail).  Harvey    successfully solved
  23475. mazes by keeping a `finger' on one wall and    running till it came out
  23476. the other end.  This was inelegant, but it    was mathematically
  23477. guaranteed to work on simply-connected mazes --    and, in fact, Harvey
  23478. outperformed more sophisticated robots that    tried to `learn' each
  23479. maze by building an internal    representation of it.  Used of humans,
  23480. the term _is_    pejorative and implies an uncreative, bureaucratic,
  23481. by-the-book    mentality.  See also {code grinder}; compare {droid}.
  23482.  
  23483.    :wall time: n.  (also `wall clock time') 1. `Real world'    time
  23484. (what the clock on the wall shows), as opposed to the system    clock's
  23485. idea of time.  2. The real running time of a program, as    opposed to
  23486. the number of {tick}s required to execute it (on a    timesharing
  23487. system these always differ, as no one program gets all    the ticks,
  23488. and on multiprocessor systems with good thread support    one may get
  23489. more processor time than real time).
  23490.  
  23491.    :wall wart: n.  A small power-supply brick with integral    male
  23492. plug, designed to plug directly into a wall outlet; called a    `wart'
  23493. because when installed on a power strip it tends to block up    at
  23494. least one more socket than it uses..  These are frequently
  23495. associated with modems and other small electronic devices which
  23496. would become unacceptably bulky or hot if they had power supplies    on
  23497. board (there are other reasons as well having to do with the    cost of
  23498. UL certification).
  23499.  
  23500.    :wallpaper: n.  1. A file containing a listing (e.g., assembly
  23501. listing) or a transcript, esp. a file containing a transcript of    all
  23502. or part of a login session.  (The idea was that the paper for    such
  23503. listings was essentially good only for wallpaper, as evidenced    at
  23504. Stanford, where it was used to cover windows.)  Now rare, esp.
  23505. since other systems have developed other terms for it (e.g., PHOTO
  23506. on TWENEX).  However, the Unix world doesn't have an equivalent
  23507. term, so perhaps {wallpaper} will take hold there.  The term
  23508. probably originated on ITS, where the commands to begin and end
  23509. transcript files were `:WALBEG' and `:WALEND', with    default file
  23510. `WALL PAPER' (the space was a path delimiter).     2. The background
  23511. pattern used on graphical workstations (this is    techspeak under the
  23512. `Windows' graphical user interface to    MS-DOS).  3. `wallpaper file'
  23513. n. The file that contains the    wallpaper information before it is
  23514. actually printed on paper.     (Even if you don't intend ever to
  23515. produce a real paper copy of the    file, it is still called a
  23516. wallpaper file.)
  23517.  
  23518.    :wango: /wang'goh/ n.  Random bit-level {grovel}ling    going on in
  23519. a system during some unspecified operation.  Often used    in
  23520. combination with {mumble}.  For example: "You start with the    `.o'
  23521. file, run it through this postprocessor that does mumble-wango    --
  23522. and it comes out a snazzy object-oriented executable."
  23523.  
  23524.    :wank: /wangk/ n.,v.,adj.  [Columbia University: prob. by
  23525. mutation from Commonwealth slang v. `wank', to masturbate] Used    much
  23526. as {hack} is elsewhere, as a noun denoting a clever    technique or
  23527. person or the result of such cleverness.  May describe    (negatively)
  23528. the act of hacking for hacking's sake ("Quit wanking,    let's go get
  23529. supper!") or (more positively) a {wizard}.  Adj.     `wanky' describes
  23530. something particularly clever (a person,    program, or algorithm).
  23531. Conversations can also get wanky when    there are too many wanks
  23532. involved.  This excess wankiness is    signalled by an overload of the
  23533. `wankometer' (compare    {bogometer}).  When the wankometer overloads,
  23534. the conversation's    subject must be changed, or all non-wanks will
  23535. leave.  Compare    `neep-neeping' (under {neep-neep}).  Usage: U.S.
  23536. only.  In    Britain and the Commonwealth this word is _extremely_ rude
  23537. and    is best avoided unless one intends to give offense.
  23538.  
  23539.    :wannabee: /won'*-bee/ n.  (also, more plausibly, spelled
  23540. `wannabe') [from a term recently used to describe Madonna fans    who
  23541. dress, talk, and act like their idol; prob. originally from    biker
  23542. slang] A would-be {hacker}.  The connotations of this term    differ
  23543. sharply depending on the age and exposure of the subject.     Used of a
  23544. person who is in or might be entering {larval stage},    it is
  23545. semi-approving; such wannabees can be annoying but most    hackers
  23546. remember that they, too, were once such creatures.  When    used of any
  23547. professional programmer, CS academic, writer, or    {suit}, it is
  23548. derogatory, implying that said person is trying to    cuddle up to the
  23549. hacker mystique but doesn't, fundamentally, have a    prayer of
  23550. understanding what it is all about.  Overuse of terms    from this
  23551. lexicon is often an indication of the {wannabee}    nature.  Compare
  23552. {newbie}.
  23553.  
  23554.    Historical note: The wannabee phenomenon has a slightly different
  23555. flavor now (1993) than it did ten or fifteen years ago.  When the
  23556. people who are now hackerdom's tribal elders were in {larval    stage},
  23557. the process of becoming a hacker was largely unconscious    and
  23558. unaffected by models known in popular culture -- communities    formed
  23559. spontaneously around people who, _as individuals_, felt    irresistibly
  23560. drawn to do hackerly things, and what wannabees    experienced was a
  23561. fairly pure, skill-focused desire to become    similarly wizardly.
  23562. Those days of innocence are gone forever;    society's adaptation to
  23563. the advent of the microcomputer after 1980    included the elevation of
  23564. the hacker as a new kind of folk hero,    and the result is that some
  23565. people semi-consciously set out to    _be hackers_ and borrow hackish
  23566. prestige by fitting the    popular image of hackers.  Fortunately, to
  23567. do this really well, one    has to actually become a wizard.
  23568. Nevertheless, old-time hackers    tend to share a poorly articulated
  23569. disquiet about the change; among    other things, it gives them mixed
  23570. feelings about the effects of    public compendia of lore like this
  23571. one.
  23572.  
  23573.    :war dialer: n.  A cracking tool, a program that calls a given
  23574. list or range of phone numbers and records those which answer with
  23575. handshake tones (and so might be entry points to computer or
  23576. telecommunications systems).  Some of these programs have become
  23577. quite sophisticated, and can now detect modem, fax, or PBX tones    and
  23578. log each one separately.  The war dialer is one of the most
  23579. important tools in the {phreaker}'s kit.  These programs evolved
  23580. from early {demon dialer}s.
  23581.  
  23582.    :-ware: suff.  [from `software'] Commonly used to form    jargon
  23583. terms for classes of software.  For examples, see    {annoyware},
  23584. {careware}, {crippleware}, {crudware},    {freeware}, {fritterware},
  23585. {guiltware}, {liveware},    {meatware}, {payware}, {psychedelicware},
  23586. {shareware},    {shelfware}, {vaporware}, {wetware}.
  23587.  
  23588.    :warez: /weirz/ n.  Widely used in {cracker} subcultures    to
  23589. denote cracked version of commercial software, that is versions    from
  23590. which copy-protection has been stripped.  Hackers recognize    this
  23591. term but don't use it themselves.  See {warez d00dz}.
  23592.  
  23593.    :warez d00dz: /weirz doodz/ n.  A substantial subculture of
  23594. {cracker}s refer to themselves as `warez d00dz'; there is    evidently
  23595. some connection with {B1FF} here.  As `Ozone Pilot',    one former
  23596. warez d00d, wrote:
  23597.  
  23598.      Warez d00dz get illegal copies of copyrighted software.  If it has
  23599.      copy protection on it, they break the protection so the software
  23600.      can be copied.  Then they distribute it around the world via
  23601.      several gateways.  Warez d00dz form badass group names like RAZOR
  23602.      and the like.  They put up boards that distribute the latest ware,
  23603.      or pirate program.  The whole point of the Warez sub-culture is to
  23604.      get the pirate program released and distributed before any other
  23605.      group.  I know, I know.  But don't ask, and it won't hurt as much.
  23606.      This is how they prove their poweress [sic].  It gives them the
  23607.      right to say, "I released King's Quest IVXIX before you so
  23608.      obviously my testicles are larger." Again don't ask...
  23609.  
  23610.    The studly thing to do if one is a warez d00d, it appears, is emit
  23611. `0-day warez', that is copies of commercial software copied and
  23612. cracked on the same day as its retail release.  Warez d00ds also
  23613. hoard software in a big way, collecting untold megabytes of
  23614. arcade-style games, pornographic GIFs, and applications they'll
  23615. never use onto their hard disks.  As Ozone Pilot acutely observes:
  23616.  
  23617.      [BELONG] is the only word you will need to know.  Warez d00dz want
  23618.      to belong.  They have been shunned by everyone, and thus turn to
  23619.      cyberspace for acceptance.  That is why they always start groups
  23620.      like TGW, FLT, USA and the like.  Structure makes them happy. [...]
  23621.      Warez d00dz will never have a handle like "Pink Daisy" because
  23622.      warez d00dz are insecure.  Only someone who is very secure with a
  23623.      good dose of self-esteem can stand up to the cries of fag and
  23624.      girlie-man.  More likely you will find warez d00dz with handles
  23625.      like:  Doctor Death, Deranged Lunatic, Hellraiser, Mad Prince,
  23626.      Dreamdevil, The Unknown, Renegade Chemist, Terminator, and Twin
  23627.      Turbo.  They like to sound badass when they can hide behind their
  23628.      terminals.  More likely, if you were given a sample of 100 people,
  23629.      the person whose handle is Hellraiser is the last person you'd
  23630.      associate with the name.
  23631.  
  23632.    The contrast with Internet hackers is stark and instructive.  See
  23633. {cracker}, {wannabee}, {handle}, {elite}; compare    {weenie}, {spod}.
  23634.  
  23635.    :warez kiddies: n.  Even more derogatory way of referring    to
  23636. {warez d00dz}; refers to the fact that most warez d00dz are    around
  23637. the age of puberty. Compare {script kiddies}.
  23638.  
  23639.    :warlording: v.  [from the Usenet group alt.fan.warlord]    The act
  23640. of excoriating a bloated, ugly, or derivative {sig    block}.  Common
  23641. grounds for warlording include the presence of a    signature rendered
  23642. in a {BUAF}, over-used or cliched {sig    quote}s, ugly {ASCII art}, or
  23643. simply excessive size.  The    original `Warlord' was a {B1FF}-like
  23644. {newbie} c.1991 who    featured in his sig a particularly large and
  23645. obnoxious ASCII    graphic resembling the sword of Conan the Barbarian
  23646. in the 1981    John Milius movie; the group name alt.fan.warlord was
  23647. sarcasm,    and the characteristic mode of warlording is devastatingly
  23648.  sarcastic praise.
  23649.  
  23650.    :warm boot: n.  See {boot}.
  23651.  
  23652.    :wart: n.  A small, {crock}y {feature} that sticks out    of an
  23653. otherwise {clean} design.  Something conspicuous for    localized
  23654. ugliness, especially a special-case exception to a    general rule.
  23655. For example, in some versions of `csh(1)',    single quotes literalize
  23656. every character inside them except    `!'.  In ANSI C, the `??' syntax
  23657. used for obtaining ASCII    characters in a foreign environment is a
  23658. wart.  See also    {miswart}.
  23659.  
  23660.    :washing machine: n.  1. Old-style 14-inch hard disks in
  23661. floor-standing cabinets.  So called because of the size of the
  23662. cabinet and the `top-loading' access to the media packs -- and, of
  23663. course, they were always set on `spin cycle'.  The    washing-machine
  23664. idiom transcends language barriers; it is even used    in Russian
  23665. hacker jargon.  See also {walking drives}.  The thick    channel cables
  23666. connecting these were called `bit hoses' (see    {hose}, sense 3).  2.
  23667. [CMU] A machine used exclusively for    {washing software}.  CMU has
  23668. clusters of these.
  23669.  
  23670.    :washing software: n.  The process of recompiling a software
  23671. distribution (used more often when the recompilation is occuring
  23672. from scratch) to pick up and merge together all of the various
  23673. changes that have been made to the source.
  23674.  
  23675.    :water MIPS: n.  (see {MIPS}, sense 2) Large, water-cooled
  23676. machines of either today's ECL-supercomputer flavor or yesterday's
  23677. traditional {mainframe} type.
  23678.  
  23679.    :wave a dead chicken: v.  To perform a ritual in the direction    of
  23680. crashed software or hardware that one believes to be futile but    is
  23681. nevertheless necessary so that others are satisfied that an
  23682. appropriate degree of effort has been expended.  "I'll wave a dead
  23683. chicken over the source code, but I really think we've run into an
  23684. OS bug."  Compare {voodoo programming}, {rain dance}; see    also
  23685. {casting the runes}.
  23686.  
  23687.    :weasel: n.  [Cambridge] A naive user, one who deliberately or
  23688. accidentally does things that are stupid or ill-advised.  Roughly
  23689. synonymous with {loser}.
  23690.  
  23691.    :web pointer: n.  A World Wide Web {URL}. See also    {hotlink},
  23692. which has slightly different connotations.
  23693.  
  23694.    :web toaster: n.  A small specialized computer, shipped    with no
  23695. monitor or keyboard or any other external peripherals,
  23696. pre-configured to be controlled through an Ethernet port and
  23697. function as a WWW server.  Products of this kind (for example the
  23698. Cobalt Qube) are often about the size of a toaster. See    {toaster};
  23699. compare {video toaster}.
  23700.  
  23701.    :webify: n.  [MIT] To put a piece of (possibly already    existing)
  23702. material on the WWW.  Frequently used for papers ("Why    don't you
  23703. webify all your publications?") or for demos ("They    webified their
  23704. 6.866 final project").
  23705.  
  23706.    :webmaster: n.  [WWW: from {postmaster}] The person at a    site
  23707. providing World Wide Web information who is responsible for
  23708. maintaining the public pages and keeping the Web server running and
  23709. properly configured.
  23710.  
  23711.    :wedged: adj.  1. To be stuck, incapable of proceeding    without
  23712. help.  This is different from having crashed.  If the    system has
  23713. crashed, it has become totally non-functioning.  If the    system is
  23714. wedged, it is trying to do something but cannot make    progress; it
  23715. may be capable of doing a few things, but not be fully    operational.
  23716. For example, a process may become wedged if it    {deadlock}s with
  23717. another (but not all instances of wedging are    deadlocks).  See also
  23718. {gronk}, {locked up}, {hosed},    {hung} (wedged is more severe than
  23719. {hung}).  2. Often refers    to humans suffering misconceptions.  "He's
  23720. totally wedged -- he's    convinced that he can levitate through
  23721. meditation."  3. [Unix]    Specifically used to describe the state of a
  23722. TTY left in a losing    state by abort of a screen-oriented program or
  23723. one that has messed    with the line discipline in some obscure way.
  23724.  
  23725.    There is some dispute over the origin of this term.  It is usually
  23726. thought to derive from a common description of recto-cranial
  23727. inversion; however, it may actually have originated with older
  23728. `hot-press' printing technology in which physical type elements    were
  23729. locked into type frames with wedges driven in by mallets.     Once this
  23730. had been done, no changes in the typesetting for that    page could be
  23731. made.
  23732.  
  23733.    :wedgie: n.  [Fairchild] A bug.  Prob. related to {wedged}.
  23734.  
  23735.    :wedgitude: /wedj'i-t[y]ood/ n.  The quality or state of    being
  23736. {wedged}.
  23737.  
  23738.    :weeble: /weeb'l/ interj.  [Cambridge] Used to denote
  23739. frustration, usually at amazing stupidity.  "I stuck the disk in
  23740. upside down."  "Weeble...." Compare {gurfle}.
  23741.  
  23742.    :weeds: n.  1. Refers to development projects or algorithms    that
  23743. have no possible relevance or practical application.  Comes    from
  23744. `off in the weeds'.  Used in phrases like "lexical analysis    for
  23745. microcode is serious weeds...." 2. At CDC/ETA before its    demise, the
  23746. phrase `go off in the weeds' was equivalent to IBM's    {branch to
  23747. Fishkill} and mainstream hackerdom's {jump off    into never-never
  23748. land}.
  23749.  
  23750.    :weenie: n.  1. [on BBSes] Any of a species of luser    resembling a
  23751. less amusing version of {B1FF} that infests many    {BBS} systems.  The
  23752. typical weenie is a teenage boy with poor    social skills travelling
  23753. under a grandiose {handle} derived from    fantasy or heavy-metal rock
  23754. lyrics.  Among sysops, `the weenie    problem' refers to the marginally
  23755. literate and profanity-laden    {flamage} weenies tend to spew all over
  23756. a newly-discovered BBS.     Compare {spod}, {computer geek}, {terminal
  23757. junkie},    {warez d00dz}.  2. [Among hackers] When used with a
  23758. qualifier    (for example, as in {Unix weenie}, VMS weenie, IBM weenie)
  23759. this    can be either an insult or a term of praise, depending on
  23760. context,    tone of voice, and whether or not it is applied by a person
  23761. who    considers him or herself to be the same sort of weenie.  Implies
  23762.   that the weenie has put a major investment of time, effort, and
  23763. concentration into the area indicated; whether this is good or bad
  23764. depends on the hearer's judgment of how the speaker feels about    that
  23765. area.  See also {bigot}.  3. The semicolon character,    `;' (ASCII
  23766. 0111011).
  23767.  
  23768.    :Weenix: /wee'niks/ n.   1. [ITS] A derogatory term for    {{Unix}},
  23769. derived from {Unix weenie}.  According to one noted    ex-ITSer, it is
  23770. "the operating system preferred by Unix Weenies:    typified by poor
  23771. modularity, poor reliability, hard file deletion,    no file version
  23772. numbers, case sensitivity everywhere, and users who    believe that
  23773. these are all advantages".  (Some ITS fans behave as    though they
  23774. believe Unix stole a future that rightfully belonged to    them.  See
  23775. {{ITS}}, sense 2.)  2. [Brown University] A Unix-like    OS developed
  23776. for tutorial purposes at Brown University.  See
  23777. `http://www.cs.brown.edu/courses/cs167/weenix.html'.  Named
  23778. independently of the ITS usage.
  23779.  
  23780.    :well-behaved: adj.  1. [primarily {{MS-DOS}}] Said of    software
  23781. conforming to system interface guidelines and standards.
  23782. Well-behaved software uses the operating system to do chores such    as
  23783. keyboard input, allocating memory and drawing graphics.  Oppose
  23784. {ill-behaved}.  2. Software that does its job quietly and    without
  23785. counterintuitive effects.  Esp. said of software having    an interface
  23786. spec sufficiently simple and well-defined that it can    be used as a
  23787. {tool} by other software.  See {cat}.  3.  Said    of an algorithm that
  23788. doesn't {crash} or {blow up}, even when    given {pathological} input.
  23789. Implies that the stability of the    algorithm is intrinsic, which
  23790. makes this somewhat different from    {bulletproof}.
  23791.  
  23792.    :well-connected: adj.  Said of a computer installation,    asserts
  23793. that it has reliable email links with the network and/or    that it
  23794. relays a large fraction of available {Usenet}    newsgroups.
  23795. `Well-known' can be almost synonymous, but also    implies that the
  23796. site's name is familiar to many (due perhaps to an    archive service
  23797. or active Usenet users).
  23798.  
  23799.    :wetware: /wet'weir/ n.  [prob. from the novels of Rudy    Rucker]
  23800. 1. The human nervous system, as opposed to computer    hardware or
  23801. software.  "Wetware has 7 plus or minus 2 temporary    registers."  2.
  23802. Human beings (programmers, operators,    administrators) attached to a
  23803. computer system, as opposed to the    system's hardware or software.
  23804. See {liveware}, {meatware}.
  23805.  
  23806.    :whack: v.  According to arch-hacker James Gosling (designer of
  23807. {NeWS}, {GOSMACS} and Java), to "...modify a program with no    idea
  23808. whatsoever how it works." (See {whacker}.)  It is actually    possible
  23809. to do this in nontrivial circumstances if the change is    small and
  23810. well-defined and you are very good at {glark}ing    things from
  23811. context.  As a trivial example, it is relatively easy    to change all
  23812. `stderr' writes to `stdout' writes in a    piece of C filter code which
  23813. remains otherwise mysterious.
  23814.  
  23815.    :whack-a-mole: n.  [Usenet] The practice of repeatedly    causing
  23816. spammers' {throwaway account}s and drop boxes to be    terminated.
  23817. Named for the carnival game which involves quickly and    repeatedly
  23818. hitting the heads of mechanical moles with a mallet as    they pop up
  23819. from their holes.
  23820.  
  23821.    :whacker: n.  [University of Maryland: from {hacker}] 1. A
  23822. person, similar to a {hacker}, who enjoys exploring the details    of
  23823. programmable systems and how to stretch their capabilities.     Whereas
  23824. a hacker tends to produce great hacks, a whacker only ends    up
  23825. whacking the system or program in question.  Whackers are often
  23826. quite egotistical and eager to claim {wizard} status, regardless    of
  23827. the views of their peers.  2. A person who is good at    programming
  23828. quickly, though rather poorly and ineptly.
  23829.  
  23830.    :whales: n.  See {like kicking dead whales down the beach}.
  23831.  
  23832.    :whalesong: n.  The peculiar clicking and whooshing sounds    made
  23833. by a PEP modem such as the Telebit Trailblazer as it tries to
  23834. synchronize with another PEP modem for their special high-speed
  23835. mode.  This sound isn't anything like the normal two-tone handshake
  23836. between conventional V-series modems and is instantly recognizable
  23837. to anyone who has heard it more than once.  It sounds, in fact,    very
  23838. much like whale songs.  This noise is also called "the moose    call"
  23839. or "moose tones".
  23840.  
  23841.    :What's a spline?:  [XEROX PARC] This phrase expands to: "You
  23842. have just used a term that I've heard for a year and a half, and I
  23843. feel I should know, but don't.  My curiosity has finally overcome    my
  23844. guilt."  The PARC lexicon adds "Moral: don't hesitate to ask
  23845. questions, even if they seem obvious."
  23846.  
  23847.    :wheel: n.  [from slang `big wheel' for a powerful person] A
  23848. person who has an active {wheel bit}.  "We need to find a wheel    to
  23849. unwedge the hung tape drives."  (See {wedged}, sense 1.)     The
  23850. traditional name of security group zero in {BSD} (to which    the major
  23851. system-internal users like {root} belong) is    `wheel'.  Some vendors
  23852. have expanded on this usage, modifying    Unix so that only members of
  23853. group `wheel' can {go root}.
  23854.  
  23855.    :wheel bit: n.  A privilege bit that allows the possessor to
  23856. perform some restricted operation on a timesharing system, such as
  23857. read or write any file on the system regardless of protections,
  23858. change or look at any address in the running monitor, crash or
  23859. reload the system, and kill or create jobs and user accounts.  The
  23860. term was invented on the TENEX operating system, and carried over    to
  23861. TOPS-20, XEROX-IFS, and others.  The state of being in a    privileged
  23862. logon is sometimes called `wheel mode'.  This term    entered the Unix
  23863. culture from TWENEX in the mid-1980s and has been    gaining popularity
  23864. there (esp. at university sites).  See also    {root}.
  23865.  
  23866.    :wheel wars: n.  [Stanford University] A period in {larval    stage}
  23867. during which student hackers hassle each other by attempting    to log
  23868. each other out of the system, delete each other's files, and
  23869. otherwise wreak havoc, usually at the expense of the lesser users.
  23870.  
  23871.    :White Book: n.  1. Syn. {K&R}.  2. Adobe's fourth book in    the
  23872. PostScript series, describing the previously-secret format of    Type 1
  23873. fonts; "Adobe Type 1 Font Format, version 1.1",    (Addison-Wesley,
  23874. 1990, ISBN 0-201-57044-0). See also {Red Book},    {Green Book}, {Blue
  23875. Book}.
  23876.  
  23877.    :whizzy: adj.  (alt. `wizzy') [Sun] Describes a {cuspy}    program;
  23878. one that is feature-rich and well presented.
  23879.  
  23880.    :wibble:  [UK] 1. n.,v. Commonly used to describe chatter,
  23881. content-free remarks or other essentially meaningless contributions
  23882. to threads in newsgroups. "Oh, rspence is wibbling again".     2. [UK
  23883. IRC] An explicit on-line no-op equivalent to {humma}.     3. One of the
  23884. preferred {metasyntactic variable}s in the UK,    forming a series with
  23885. `wobble', `wubble', and `flob'    (attributed to the hilarious
  23886. historical comedy    "Blackadder"). 4. A pronounciation of the letters
  23887. "www", as    seen in URLs; i.e., www.{foo}.com may be pronounced
  23888. "wibble dot foo    dot com".
  23889.  
  23890.    :WIBNI: // n.  [Bell Labs: Wouldn't It Be Nice If] What most
  23891. requirements documents and specifications consist entirely of.
  23892. Compare {IWBNI}.
  23893.  
  23894.    :widget: n.  1. A meta-thing.  Used to stand for a real object    in
  23895. didactic examples (especially database tutorials).  Legend has    it
  23896. that the original widgets were holders for buggy whips.  "But
  23897. suppose the parts list for a widget has 52 entries...."     2. [poss.
  23898. evoking `window gadget'] A user interface object in    {X} graphical
  23899. user interfaces.
  23900.  
  23901.    :wiggles: n.  [scientific computation] In solving partial
  23902. differential equations by finite difference and similar methods,
  23903. wiggles are sawtooth (up-down-up-down) oscillations at the shortest
  23904. wavelength representable on the grid.  If an algorithm is unstable,
  23905. this is often the most unstable waveform, so it grows to dominate
  23906. the solution.  Alternatively, stable (though inaccurate) wiggles    can
  23907. be generated near a discontinuity by a Gibbs phenomenon.
  23908.  
  23909.    :WIMP environment: n.  [acronym: `Window, Icon, Menu, Pointing
  23910. device (or Pull-down menu)'] A graphical-user-interface environment
  23911. such as {X} or the Macintosh interface, esp. as described by a
  23912. hacker who prefers command-line interfaces for their superior
  23913. flexibility and extensibility.  However, it is also used without
  23914. negative connotations; one must pay attention to voice tone and
  23915. other signals to interpret correctly.  See {menuitis},
  23916. {user-obsequious}.
  23917.  
  23918.    :win:  [MIT; now common everywhere] 1. vi. To succeed.  A    program
  23919. wins if no unexpected conditions arise, or (especially) if    it
  23920. sufficiently {robust} to take exceptions in stride.     2. n. Success,
  23921. or a specific instance thereof.  A pleasing    outcome.  "So it turned
  23922. out I could use a {lexer} generator    instead of hand-coding my own
  23923. pattern recognizer.  What a win!"     Emphatic forms: `moby win',
  23924. `super win', `hyper-win' (often    used interjectively as a reply).
  23925. For some reason `suitable win'    is also common at MIT, usually in
  23926. reference to a satisfactory    solution to a problem.  Oppose {lose};
  23927. see also {big win},    which isn't quite just an intensification of
  23928. `win'.
  23929.  
  23930.    :win big: vi.  To experience serendipity.  "I went shopping    and
  23931. won big; there was a 2-for-1 sale."  See {big win}.
  23932.  
  23933.    :win win: excl.  Expresses pleasure at a {win}.
  23934.  
  23935.    :Winchester:: n.  Informal generic term for    sealed-enclosure
  23936. magnetic-disk drives in which the read-write head    planes over the
  23937. disk surface on an air cushion.  There is a legend    that the name
  23938. arose because the original 1973 engineering prototype    for what later
  23939. became the IBM 3340 featured two 30-megabyte    volumes; 30-30 became
  23940. `Winchester' when somebody noticed the    similarity to the common term
  23941. for a famous Winchester rifle (in the    latter, the first 30 referred
  23942. to caliber and the second to the    grain weight of the charge).  (It
  23943. is sometimes incorrectly claimed    that Winchester was the laboratory
  23944. in which the technology was    developed.)
  23945.  
  23946.    :windoid: n.  In the Macintosh world, a style of window with    much
  23947. less adornment (smaller or missing title bar, zoom box, etc,    etc)
  23948. than a standard window.
  23949.  
  23950.    :window shopping: n.  [US Geological Survey] Among users of    {WIMP
  23951. environment}s like {X} or the Macintosh, extended    experimentation
  23952. with new window colors, fonts, and icon shapes.     This activity can
  23953. take up hours of what might otherwise have been    productive working
  23954. time.  "I spent the afternoon window shopping    until I found the
  23955. coolest shade of green for my active window    borders -- now they
  23956. perfectly match my medium slate blue    background."  Serious window
  23957. shoppers will spend their days with    bitmap editors, creating new and
  23958. different icons and background    patterns for all to see.  Also:
  23959. `window dressing', the act of    applying new fonts, colors, etc.  See
  23960. {fritterware}, compare    {macdink}.
  23961.  
  23962.    :Windoze: /win'dohz/ n.  See {Microsloth Windows}.
  23963.  
  23964.    :winged comments: n.  Comments set on the same line as code,    as
  23965. opposed to {boxed comments}.  In C, for example:
  23966.  
  23967.      d = sqrt(x*x + y*y);  /* distance from origin */
  23968.  
  23969. Generally these refer only to the action(s) taken on that line.
  23970.  
  23971.    :winkey: n.  (alt. `winkey face') See {emoticon}.
  23972.  
  23973.    :winnage: /win'*j/ n.  The situation when a lossage is    corrected,
  23974. or when something is winning.
  23975.  
  23976.    :winner:  1. n. An unexpectedly good situation, program,
  23977. programmer, or person.  2. `real winner': Often sarcastic, but    also
  23978. used as high praise (see also the note under {user}).     "He's a real
  23979. winner -- never reports a bug till he can duplicate    it and send in
  23980. an example."
  23981.  
  23982.    :winnitude: /win'*-t[y]ood/ n.  The quality of winning (as
  23983. opposed to {winnage}, which is the result of winning).  "Guess    what?
  23984. They tweaked the microcode and now the LISP interpreter runs    twice
  23985. as fast as it used to."  "That's really great!  Boy, what
  23986. winnitude!"  "Yup. I'll probably get a half-hour's winnage on the
  23987. next run of my program."  Perhaps curiously, the obvious antonym
  23988. `lossitude' is rare.
  23989.  
  23990.    :Wintel: n.  Microsoft Windows plus Intel - the tacit    alliance
  23991. that dominated desktop computing in the 1990s.  Now (1999)    possibly
  23992. on the verge of breaking up under pressure from    {Linux}; see
  23993. {Lintel}.
  23994.  
  23995.    :wired: n.  See {hardwired}.
  23996.  
  23997.    :wirehead: /wi:r'hed/ n.  [prob. from SF slang for an
  23998. electrical-brain-stimulation addict] 1. A hardware hacker,
  23999. especially one who concentrates on communications hardware.  2. An
  24000. expert in local-area networks.  A wirehead can be a network    software
  24001. wizard too, but will always have the ability to deal with    network
  24002. hardware, down to the smallest component.  Wireheads are    known for
  24003. their ability to lash up an Ethernet terminator from    spare
  24004. resistors, for example.
  24005.  
  24006.    :wirewater: n.  Syn. {programming fluid}.  This melds the
  24007. mainstream slang adjective `wired' (stimulated, up, hyperactive)
  24008. with `firewater'; however, it refers to caffeinacious rather than
  24009. alcoholic beverages.
  24010.  
  24011.    :wish list: n.  A list of desired features or bug fixes that
  24012. probably won't get done for a long time, usually because the person
  24013. responsible for the code is too busy or can't think of a clean way
  24014. to do it.  "OK, I'll add automatic filename completion to the wish
  24015. list for the new interface."  Compare {tick-list features}.
  24016.  
  24017.    :within delta of: adj.  See {delta}.
  24018.  
  24019.    :within epsilon of: adj.  See {epsilon}.
  24020.  
  24021.    :wizard: n.  1. A person who knows how a complex piece of
  24022. software or hardware works (that is, who {grok}s it); esp.     someone
  24023. who can find and fix bugs quickly in an emergency.  Someone    is a
  24024. {hacker} if he or she has general hacking ability, but is a    wizard
  24025. with respect to something only if he or she has specific    detailed
  24026. knowledge of that thing.  A good hacker could become a    wizard for
  24027. something given the time to study it.  2. A person who    is permitted
  24028. to do things forbidden to ordinary people; one who has    {wheel}
  24029. privileges on a system.  3. A Unix expert, esp. a Unix    systems
  24030. programmer.  This usage is well enough established that    `Unix
  24031. Wizard' is a recognized job title at some corporations and to    most
  24032. headhunters.  See {guru}, {lord high fixer}.  See also    {deep magic},
  24033. {heavy wizardry}, {incantation}, {magic},    {mutter}, {rain dance},
  24034. {voodoo programming}, {wave a    dead chicken}.
  24035.  
  24036.    :Wizard Book: n.  "Structure and Interpretation of    Computer
  24037. Programs" (Hal Abelson, Jerry Sussman and Julie Sussman;    MIT Press,
  24038. 1984, 1996; ISBN 0-262-01153-0), an excellent computer science    text
  24039. used in introductory courses at MIT.  So called because of    the
  24040. wizard on the jacket.  One of the {bible}s of the    LISP/Scheme world.
  24041. Also, less commonly, known as the {Purple    Book}.
  24042.  
  24043.    :wizard mode: n.  [from {rogue}] A special access mode of a
  24044. program or system, usually passworded, that permits some users
  24045. godlike privileges.  Generally not used for operating systems
  24046. themselves (`root mode' or `wheel mode' would be used instead).
  24047. This term is often used with respect to games that have editable
  24048. state.
  24049.  
  24050.    :wizardly: adj.  Pertaining to wizards.  A wizardly    {feature} is
  24051. one that only a wizard could understand or use    properly.
  24052.  
  24053.    :wok-on-the-wall: n.  A small microwave dish antenna used for
  24054. cross-campus private network circuits, from the obvious resemblance
  24055. between a microwave dish and the Chinese culinary utensil.
  24056.  
  24057.    :womb box: n.  1. [TMRC] Storage space for equipment.     2.
  24058. [proposed] A variety of hard-shell equipment case with heavy
  24059. interior padding and/or shaped carrier cutouts in a foam-rubber
  24060. matrix; mundanely called a `flight case'.  Used for delicate test
  24061. equipment, electronics, and musical instruments.
  24062.  
  24063.    :WOMBAT: /wom'bat/ adj.  [acronym: Waste Of Money,    Brains, And
  24064. Time] Applied to problems which are both profoundly    {uninteresting}
  24065. in themselves and unlikely to benefit anyone    interesting even if
  24066. solved.  Often used in fanciful constructions    such as `wrestling
  24067. with a wombat'.  See also {crawling    horror}, {SMOP}.  Also note the
  24068. rather different usage as a    metasyntactic variable in {{Commonwealth
  24069. Hackish}}.
  24070.  
  24071.    Users of the PDP-11 database program DATATRIEVE adopted the wombat
  24072. as their notional mascot; the program's help file responded to
  24073. "HELP WOMBAT" with factual information about Real World    wombats.
  24074.  
  24075.    :womble: n.  [Unisys UK: from British cartoon characters]    A user
  24076. who has great difficulty in communicating their requirements    and/or
  24077. in using the resulting software. Extreme case of {luser}. An
  24078. especially senior or high-ranking womble is referred to as
  24079. Great-Uncle Bulgaria.
  24080.  
  24081.    :wonky: /wong'kee/ adj.  [from Australian slang] Yet another
  24082. approximate synonym for {broken}.  Specifically connotes a
  24083. malfunction that produces behavior seen as crazy, humorous, or
  24084. amusingly perverse.  "That was the day the printer's font logic    went
  24085. wonky and everybody's listings came out in Tengwar."  Also in
  24086. `wonked out'.  See {funky}, {demented}, {bozotic}.
  24087.  
  24088.    :woofer: n.  [University of Waterloo] Some varieties of wide
  24089. paper for printers have a perforation 8.5 inches from the left
  24090. margin that allows the excess on the right-hand side to be torn off
  24091. when the print format is 80 columns or less wide.  The right-hand
  24092. excess may be called `woofer'.  This term (like {tweeter}) has    been
  24093. in use at Waterloo since 1972, but is elsewhere unknown.  In    audio
  24094. jargon, the word refers to the bass speaker(s) on a hi-fi.
  24095.  
  24096.    :workaround: n.  1. A temporary {kluge} used to bypass,    mask, or
  24097. otherwise avoid a {bug} or {misfeature} in some    system.
  24098. Theoretically, workarounds are always replaced by    {fix}es; in
  24099. practice, customers often find themselves living    with workarounds
  24100. for long periods of time.  "The code died on NUL    characters in the
  24101. input, so I fixed it to interpret them as    spaces."  "That's not a
  24102. fix, that's a workaround!"  2. A    procedure to be employed by the
  24103. user in order to do what some    currently non-working feature should
  24104. do.  Hypothetical example:    "Using META-F7 {crash}es the 4.43 build
  24105. of Weemax, but as a    workaround you can type CTRL-R, then SHIFT-F5,
  24106. and delete the    remaining {cruft} by hand."
  24107.  
  24108.    :working as designed: adj.  [IBM] 1. In conformance to a wrong    or
  24109. inappropriate specification; useful, but misdesigned.     2. Frequently
  24110. used as a sardonic comment on a program's utility.     3. Unfortunately
  24111. also used as a bogus reason for not accepting a    criticism or
  24112. suggestion.  At {IBM}, this sense is used in    official documents!
  24113. See {BAD}.
  24114.  
  24115.    :worm: n.  [from `tapeworm' in John Brunner's novel    "The
  24116. Shockwave Rider", via XEROX PARC] A program that    propagates itself
  24117. over a network, reproducing itself as it goes.     Compare {virus}.
  24118. Nowadays the term has negative connotations,    as it is assumed that
  24119. only {cracker}s write worms.  Perhaps the    best-known example was
  24120. Robert T. Morris's {Great Worm} of 1988,    a `benign' one that got out
  24121. of control and hogged hundreds of    Suns and VAXen across the U.S.
  24122. See also {cracker}, {RTM},    {Trojan horse}, {ice}.
  24123.  
  24124.    :wormhole: /werm'hohl/ n.  [from the `wormhole'    singularities
  24125. hypothesized in some versions of General Relativity    theory] 1.
  24126. [n.,obs.] A location in a monitor which contains the    address of a
  24127. routine, with the specific intent of making it easy to    substitute a
  24128. different routine.  This term is now obsolescent;    modern operating
  24129. systems use clusters of wormholes extensively (for    modularization of
  24130. I/O handling in particular, as in the Unix    device-driver
  24131. organization) but the preferred techspeak for these    clusters is
  24132. `device tables', `jump tables' or `capability    tables'.  2. [Amateur
  24133. Packet Radio] A network path using a    commercial satellite link to
  24134. join two or more amateur VHF networks.     So called because traffic
  24135. routed through a wormhole leaves and    re-enters the amateur network
  24136. over great distances with usually    little clue in the message routing
  24137. header as to how it got from one    relay to the other. Compare {gopher
  24138. hole} (sense 2).
  24139.  
  24140.    :wound around the axle: adj.  In an infinite loop.  Often used    by
  24141. older computer types.
  24142.  
  24143.    :wrap around: vi.  (also n. `wraparound' and v. shorthand    `wrap')
  24144. 1. [techspeak] The action of a counter that starts over    at zero or
  24145. at `minus infinity' (see {infinity}) after its    maximum value has
  24146. been reached, and continues incrementing, either    because it is
  24147. programmed to do so or because of an overflow (as    when a car's
  24148. odometer starts over at 0).  2. To change {phase}    gradually and
  24149. continuously by maintaining a steady wake-sleep cycle    somewhat
  24150. longer than 24 hours, e.g., living six long (28-hour) days    in a week
  24151. (or, equivalently, sleeping at the rate of 10    microhertz).  This
  24152. sense is also called {phase-wrapping}.
  24153.  
  24154.    :write-only code: n.  [a play on `read-only memory'] Code    so
  24155. arcane, complex, or ill-structured that it cannot be modified or
  24156. even comprehended by anyone but its author, and possibly not even    by
  24157. him/her.  A {Bad Thing}.
  24158.  
  24159.    :write-only language: n.  A language with syntax (or    semantics)
  24160. sufficiently dense and bizarre that any routine of    significant size
  24161. is automatically {write-only code}.  A    sobriquet applied
  24162. occasionally to C and often to APL, though    {INTERCAL} and {TECO}
  24163. certainly deserve it more.     See also {Befunge}.
  24164.  
  24165.    :write-only memory: n.  The obvious antonym to `read-only
  24166. memory'.  Out of frustration with the long and seemingly useless
  24167. chain of approvals required of component specifications, during
  24168. which no actual checking seemed to occur, an engineer at Signetics
  24169. once created a specification for a write-only memory and included    it
  24170. with a bunch of other specifications to be approved.  This    inclusion
  24171. came to the attention of Signetics {management} only    when regular
  24172. customers started calling and asking for pricing    information.
  24173. Signetics published a corrected edition of the data    book and
  24174. requested the return of the `erroneous' ones.  Later,    around 1974,
  24175. Signetics bought a double-page spread in    "Electronics" magazine's
  24176. April issue and used the spec as an    April Fools' Day joke.  Instead
  24177. of the more conventional    characteristic curves, the 25120 "fully
  24178. encoded, 9046 x N, Random    Access, write-only-memory" data sheet
  24179. included diagrams of "bit    capacity vs. Temp.", "Iff vs. Vff",
  24180. "Number of pins remaining    vs. number of socket insertions", and "AQL
  24181. vs. selling    price".  The 25120 required a 6.3 VAC VFF supply, a +10V
  24182. VCC, and    VDD of 0V, +/- 2%.
  24183.  
  24184.    :Wrong Thing: n.  A design, action, or decision that is    clearly
  24185. incorrect or inappropriate.  Often capitalized; always    emphasized in
  24186. speech as if capitalized.  The opposite of the    {Right Thing}; more
  24187. generally, anything that is not the Right    Thing.  In cases where
  24188. `the good is the enemy of the best', the    merely good -- although
  24189. good -- is nevertheless the Wrong    Thing. "In C, the default is for
  24190. module-level declarations to be    visible everywhere, rather than just
  24191. within the module.  This is    clearly the Wrong Thing."
  24192.  
  24193.    :wugga wugga: /wuh'g* wuh'g*/ n.  Imaginary sound that a    computer
  24194. program makes as it labors with a tedious or difficult    task.{grind}
  24195. (sense 4).
  24196.  
  24197.    :wumpus: /wuhm'p*s/ n.  The central monster (and, in many
  24198. versions, the name) of a famous family of very early computer games
  24199. called "Hunt The Wumpus", dating back at least to 1972 (several
  24200. years before {ADVENT}) on the Dartmouth Time-Sharing System.     The
  24201. wumpus lived somewhere in a cave with the topology of an
  24202. dodecahedron's edge/vertex graph (later versions supported other
  24203. topologies, including an icosahedron and Mo"bius strip). The    player
  24204. started somewhere at random in the cave with five `crooked    arrows';
  24205. these could be shot through up to three connected rooms,    and would
  24206. kill the wumpus on a hit (later versions introduced the    wounded
  24207. wumpus, which got very angry).  Unfortunately for players,    the
  24208. movement necessary to map the maze was made hazardous not    merely by
  24209. the wumpus (which would eat you if you stepped on him)    but also by
  24210. bottomless pits and colonies of super bats that would    pick you up
  24211. and drop you at a random location (later versions added    `anaerobic
  24212. termites' that ate arrows, bat migrations, and    earthquakes that
  24213. randomly changed pit locations).
  24214.  
  24215.    This game appears to have been the first to use a non-random
  24216. graph-structured map (as opposed to a rectangular grid like the    even
  24217. older Star Trek games).  In this respect, as in the    dungeon-like
  24218. setting and its terse, amusing messages, it prefigured    {ADVENT} and
  24219. {Zork} and was directly ancestral to the latter    (Zork acknowledged
  24220. this heritage by including a super-bat colony).     Today, a port is
  24221. distributed with SunOS and as freeware for the    Mac.  A C emulation
  24222. of the original Basic game is available at the    Retrocomputing
  24223. Museum, `http://www.ccil.org/retro'.
  24224.  
  24225.    :WYSIAYG: /wiz'ee-ayg/ adj.  Describes a user interface    under
  24226. which "What You See Is _All_ You Get"; an unhappy    variant of
  24227. {WYSIWYG}.  Visual, `point-and-shoot'-style    interfaces tend to have
  24228. easy initial learning curves, but also to    lack depth; they often
  24229. frustrate advanced users who would be better    served by a
  24230. command-style interface.  When this happens, the    frustrated user has
  24231. a WYSIAYG problem.  This term is most often    used of editors, word
  24232. processors, and document formatting programs.     WYSIWYG `desktop
  24233. publishing' programs, for example, are a clear    win for creating
  24234. small documents with lots of fonts and graphics in    them, especially
  24235. things like newsletters and presentation slides.     When typesetting
  24236. book-length manuscripts, on the other hand, scale    changes the nature
  24237. of the task; one quickly runs into WYSIAYG    limitations, and the
  24238. increased power and flexibility of a    command-driven formatter like
  24239. {{TeX}} or Unix's {{troff}}    becomes not just desirable but a
  24240. necessity.  Compare {YAFIYGI}.
  24241.  
  24242.    :WYSIWYG: /wiz'ee-wig/ adj.  Describes a user interface    under
  24243. which "What You See Is What You Get", as opposed to one    that uses
  24244. more-or-less obscure commands that do not result in    immediate visual
  24245. feedback.  True WYSIWYG in environments supporting    multiple fonts or
  24246. graphics is a a rarely-attained ideal; there are    variants of this
  24247. term to express real-world manifestations    including WYSIAWYG (What
  24248. You See Is _Almost_ What You Get) and    WYSIMOLWYG (What You See Is
  24249. More or Less What You Get).  All these    can be mildly derogatory, as
  24250. they are often used to refer to    dumbed-down {user-friendly}
  24251. interfaces targeted at    non-programmers; a hacker has no fear of
  24252. obscure commands (compare    {WYSIAYG}).  On the other hand, {EMACS}
  24253. was one of the very    first WYSIWYG editors, replacing (actually, at
  24254. first overlaying)    the extremely obscure, command-based {TECO}.  See
  24255. also {WIMP    environment}.  [Oddly enough, WYSIWYG has already made it
  24256. into the    OED, in lower case yet. --ESR]
  24257.  
  24258. = X =
  24259. =====
  24260.  
  24261.    :X: /X/ n.  1. Used in various speech and writing contexts    (also
  24262. in lowercase) in roughly its algebraic sense of `unknown    within a
  24263. set defined by context' (compare {N}).  Thus, the    abbreviation 680x0
  24264. stands for 68000, 68010, 68020, 68030, or 68040,    and 80x86 stands
  24265. for 80186, 80286 80386 or 80486 (note that a Unix    hacker might write
  24266. these as 680[0-4]0 and 80[1-4]86 or 680?0 and    80?86 respectively;
  24267. see {glob}).  2. [after the name of an    earlier window system called
  24268. `W'] An over-sized, over-featured,    over-engineered and incredibly
  24269. over-complicated window system    developed at MIT and widely used on
  24270. Unix systems.
  24271.  
  24272.    :XEROX PARC: /zee'roks park'/ n.  The famed Palo Alto    Research
  24273. Center.  For more than a decade, from the early 1970s into    the
  24274. mid-1980s, PARC yielded an astonishing volume of groundbreaking
  24275. hardware and software innovations.  The modern mice, windows, and
  24276. icons style of software interface was invented there.  So was the
  24277. laser printer and the local-area network; and PARC's series of D
  24278. machines anticipated the powerful personal computers of the 1980s    by
  24279. a decade.  Sadly, the prophets at PARC were without honor in    their
  24280. own company, so much so that it became a standard joke to    describe
  24281. PARC as a place that specialized in developing brilliant    ideas for
  24282. everyone else.
  24283.  
  24284.    The stunning shortsightedness and obtusity of XEROX's top-level
  24285. {suit}s has been well anatomized in "Fumbling The Future:    How XEROX
  24286. Invented, Then Ignored, the First Personal Computer" by    Douglas K.
  24287. Smith and Robert C. Alexander (William Morrow & Co.,    1988, ISBN
  24288. 0-688-09511-9).
  24289.  
  24290.    :XOFF: /X-of/ n.  Syn. {control-S}.
  24291.  
  24292.    :XON: /X-on/ n.  Syn. {control-Q}.
  24293.  
  24294.    :xor: /X'or/, /kzor/ conj.  Exclusive or.  `A xor B' means    `A or
  24295. B, but not both'.  "I want to get cherry pie xor a banana    split."
  24296. This derives from the technical use of the term as a    function on
  24297. truth-values that is true if exactly one of its two    arguments is
  24298. true.
  24299.  
  24300.    :xref: /X'ref/ v.,n.  Hackish standard abbreviation for
  24301. `cross-reference'.
  24302.  
  24303.    :XXX: /X-X-X/ n.  A marker that attention is needed.     Commonly
  24304. used in program comments to indicate areas that are kluged    up or
  24305. need to be.  Some hackers liken `XXX' to the notional    heavy-porn
  24306. movie rating.  Compare {FIXME}.
  24307.  
  24308.    :xyzzy: /X-Y-Z-Z-Y/, /X-Y-ziz'ee/, /ziz'ee/, or /ik-ziz'ee/    adj.
  24309. [from the ADVENT game] The {canonical} `magic    word'.  This comes
  24310. from {ADVENT}, in which the idea is to    explore an underground cave
  24311. with many rooms and to collect the    treasures you find there.  If you
  24312. type `xyzzy' at the appropriate    time, you can move instantly between
  24313. two otherwise distant points.     If, therefore, you encounter some bit
  24314. of {magic}, you might    remark on this quite succinctly by saying
  24315. simply "Xyzzy!"     "Ordinarily you can't look at someone else's screen
  24316. if he has    protected it, but if you type quadruple-bucky-clear the
  24317. system will    let you do it anyway."  "Xyzzy!"
  24318.  
  24319.    Xyzzy has actually been implemented as an undocumented no-op
  24320. command on several OSes; in Data General's AOS/VS, for example, it
  24321. would typically respond "Nothing happens", just as {ADVENT}    did if
  24322. the magic was invoked at the wrong spot or before a player    had
  24323. performed the action that enabled the word.  In more recent    32-bit
  24324. versions, by the way, AOS/VS responds "Twice as much    happens".
  24325.  
  24326.    The popular `minesweeper' game under Microsoft Windows has a
  24327. cheat mode triggered by the command `xyzzy<enter><right-shift>'    that
  24328. turns the top-left pixel of the screen different colors    depending on
  24329. whether or not the cursor is over a bomb.
  24330.  
  24331. = Y =
  24332. =====
  24333.  
  24334.    :YA-: abbrev.  [Yet Another] In hackish acronyms this almost
  24335. invariably expands to {Yet Another}, following the precedent set    by
  24336. Unix `yacc(1)' (Yet Another Compiler-Compiler).  See    {YABA}.
  24337.  
  24338.    :YABA: /ya'b*/ n.  [Cambridge] Yet Another Bloody Acronym.
  24339. Whenever some program is being named, someone invariably suggests
  24340. that it be given a name that is acronymic.  The response from those
  24341. with a trace of originality is to remark ironically that the
  24342. proposed name would then be `YABA-compatible'.  Also used in
  24343. response to questions like "What is WYSIWYG?"  See also    {TLA}.
  24344.  
  24345.    :YAFIYGI: /yaf'ee-y*-gee/ adj.  [coined in response to    WYSIWYG]
  24346. Describes the command-oriented ed/vi/nroff/TeX style of    word
  24347. processing or other user interface, the opposite of    {WYSIWYG}.
  24348. Stands for "You asked for it, you got it", because    what you actually
  24349. asked for is often not apparent until long after    it is too late to
  24350. do anything about it.  Used to denote perversity    ("Real Programmers
  24351. use YAFIYGI tools...and _like_ it!")     or, less often, a necessary
  24352. tradeoff ("Only a YAFIYGI tool can    have full programmable
  24353. flexibility in its interface.").
  24354.  
  24355.    This precise sense of "You asked for it, you got it" seems to
  24356. have first appeared in Ed Post's classic parody "Real    Programmers
  24357. don't use Pascal" (see {Real Programmer}s); the    acronym is a more
  24358. recent invention.
  24359.  
  24360.    :YAUN: /yawn/ n.  [Acronym for `Yet Another Unix Nerd']    Reported
  24361. from the San Diego Computer Society (predominantly a    microcomputer
  24362. users' group) as a good-natured punning insult aimed    at Unix zealots.
  24363.  
  24364.    :Yellow Book: n.     The print version of this Jargon    File; "The
  24365. New Hacker's Dictionary" from MIT Press; The book    includes
  24366. essentially all the material the File, plus a Foreword by    Guy L.
  24367. Steele Jr. and a Preface by Eric S. Raymond.  Most    importantly, the
  24368. book version is nicely typeset and includes almost    all of the
  24369. infamous Crunchly cartoons by the Great Quux, each    attached to an
  24370. appropriate entry.  The first edition (1991, ISBN    0-262-68069-6)
  24371. corresponded to the Jargon File version 2.9.6.  The    second edition
  24372. (1993, ISBN 0-262-68079-3) corresponded to the Jargon    File 3.0.0.
  24373. The third (1996, ISBN 0-262-68092-0) corresponded    to 4.0.0.
  24374.  
  24375.    :yellow card: n.  See {green card}.
  24376.  
  24377.    :yellow wire: n.  [IBM] Repair wires used when connectors
  24378. (especially ribbon connectors) got broken due to some schlemiel
  24379. pinching them, or to reconnect cut traces after the FE mistakenly
  24380. cut one.  Compare {blue wire}, {purple wire}, {red wire}.
  24381.  
  24382.    :Yet Another: adj.  [From Unix's `yacc(1)', `Yet    Another
  24383. Compiler-Compiler', a LALR parser generator] 1. Of your own    work: A
  24384. humorous allusion often used in titles to acknowledge that    the topic
  24385. is not original, though the content is.  As in `Yet    Another AI
  24386. Group' or `Yet Another Simulated Annealing Algorithm'.     2. Of
  24387. others' work: Describes something of which there are already    far too
  24388. many.  See also {YA-}, {YABA}, {YAUN}.
  24389.  
  24390.    :YKYBHTLW: // abbrev.  Abbreviation of `You know you've been
  24391. hacking too long when...', which became established on the Usenet
  24392. group alt.folklore.computers during extended discussion of the
  24393. indicated entry in the Jargon File.
  24394.  
  24395.    :YMMV: // cav.  Abbreviation for {Your mileage    may vary} common
  24396. on Usenet.
  24397.  
  24398.    :You are not expected to understand this: [Unix] cav.  The
  24399. canonical comment describing something {magic} or too    complicated to
  24400. bother explaining properly.  From an infamous    comment in the
  24401. context-switching code of the V6 Unix kernel.
  24402.  
  24403.    :You know you've been hacking too long when...:  The    set-up line
  24404. for a genre of one-liners told by hackers about    themselves.  These
  24405. include the following:
  24406.  
  24407.    *    not only do you check your email more often than your paper
  24408.      mail, but you remember your {network address} faster than your
  24409.      postal one.
  24410.  
  24411.    *    your {SO} kisses you on the neck and the first thing you
  24412.      think is "Uh, oh, {priority interrupt}."
  24413.  
  24414.    *    you go to balance your checkbook and discover that you're
  24415.      doing it in octal.
  24416.  
  24417.    *    your computers have a higher street value than your car.
  24418.  
  24419.    *    in your universe, `round numbers' are powers of 2, not 10.
  24420.  
  24421.    *    more than once, you have woken up recalling a dream in    some
  24422.      programming language.
  24423.  
  24424.    *    you realize you have never seen half of your best friends.
  24425.  
  24426. [An early version of this entry said "All but one of these    have been
  24427. reliably reported as hacker traits (some of them quite    often).  Even
  24428. hackers may have trouble spotting the ringer."  The    ringer was
  24429. balancing one's checkbook in octal, which I made up out    of whole
  24430. cloth.  Although more respondents picked that one    out as fiction
  24431. than any of the others, I also received multiple    independent reports
  24432. of its actually happening, most famously    to Grace Hopper while she
  24433. was working with BINAC in 1949. --ESR]
  24434.  
  24435.    :Your mileage may vary: cav.  [from the standard disclaimer
  24436. attached to EPA mileage ratings by American car manufacturers] 1. A
  24437. ritual warning often found in Unix freeware distributions.
  24438. Translates roughly as "Hey, I tried to write this portably, but    who
  24439. _knows_ what'll happen on your system?"  2. More    generally, a
  24440. qualifier attached to advice.  "I find that sending    flowers works
  24441. well, but your mileage may vary."
  24442.  
  24443.    :Yow!: /yow/ interj.  [from "Zippy the Pinhead" comix] A    favored
  24444. hacker expression of humorous surprise or emphasis.  "Yow!     Check
  24445. out what happens when you twiddle the foo option on this    display
  24446. hack!"  Compare {gurfle}.
  24447.  
  24448.    :yoyo mode: n.  The state in which the system is said to be    when
  24449. it rapidly alternates several times between being up and being    down.
  24450. Interestingly (and perhaps not by coincidence), many    hardware
  24451. vendors give out free yoyos at Usenix exhibits.
  24452.  
  24453.    Sun Microsystems gave out logoized yoyos at SIGPLAN '88.  Tourists
  24454. staying at one of Atlanta's most respectable hotels were
  24455. subsequently treated to the sight of 200 of the country's top
  24456. computer scientists testing yo-yo algorithms in the lobby.
  24457.  
  24458.    :Yu-Shiang Whole Fish: /yoo-shyang hohl fish/ n. obs.  The
  24459. character gamma (extended SAIL ASCII 0001001), which with a loop in
  24460. its tail looks like a little fish swimming down the page.  The term
  24461. is actually the name of a Chinese dish in which a fish is cooked
  24462. whole (not {parse}d) and covered with Yu-Shiang (or Yu-Hsiang)
  24463. sauce.  Usage: primarily by people on the MIT LISP Machine, which
  24464. could display this character on the screen.  Tends to elicit
  24465. incredulity from people who hear about it second-hand.
  24466.  
  24467. = Z =
  24468. =====
  24469.  
  24470.    :zap:  1. n. Spiciness.  2. vt. To make food spicy.  3. vt. To
  24471. make someone `suffer' by making his food spicy.  (Most hackers    love
  24472. spicy food.  Hot-and-sour soup is considered wimpy unless it    makes
  24473. you wipe your nose for the rest of the meal.)  See    {zapped}.  4. vt.
  24474. To modify, usually to correct; esp. used    when the action is
  24475. performed with a debugger or binary patching    tool.  Also implies
  24476. surgical precision.  "Zap the debug level to 6    and run it again."
  24477. In the IBM mainframe world, binary patches are    applied to programs
  24478. or to the OS with a program called    `superzap', whose file name is
  24479. `IMASPZAP' (possibly contrived    from I M A SuPerZAP).  5. vt. To
  24480. erase or reset.  6. To {fry} a    chip with static electricity.  "Uh oh
  24481. -- I think that lightning    strike may have zapped the disk
  24482. controller."
  24483.  
  24484.    :zapped: adj.  Spicy.  This term is used to distinguish    between
  24485. food that is hot (in temperature) and food that is    _spicy_-hot.  For
  24486. example, the Chinese appetizer Bon Bon    Chicken is a kind of chicken
  24487. salad that is cold but zapped; by    contrast, {vanilla} wonton soup is
  24488. hot but not zapped.  See also    {{oriental food}}, {laser chicken}.
  24489. See {zap}, senses 1 and    2.
  24490.  
  24491.    :zen: vt.  To figure out something by meditation or by a    sudden
  24492. flash of enlightenment.  Originally applied to bugs, but
  24493. occasionally applied to problems of life in general.  "How'd you
  24494. figure out the buffer allocation problem?"  "Oh, I zenned it."
  24495. Contrast {grok}, which connotes a time-extended version of    zenning a
  24496. system.  Compare {hack mode}.  See also {guru}.
  24497.  
  24498.    :zero: vt.  1. To set to 0.  Usually said of small pieces of
  24499. data, such as bits or words (esp. in the construction `zero    out').
  24500. 2. To erase; to discard all data from.  Said of disks and
  24501. directories, where `zeroing' need not involve actually writing
  24502. zeroes throughout the area being zeroed.  One may speak of    something
  24503. being `logically zeroed' rather than being    `physically zeroed'.  See
  24504. {scribble}.
  24505.  
  24506.    :zero-content: adj.  Syn. {content-free}.
  24507.  
  24508.    :Zero-One-Infinity Rule: prov.  "Allow none of {foo},    one of
  24509. {foo}, or any number of {foo}."  A rule of thumb for    software
  24510. design, which instructs one to not place {random}    limits on the
  24511. number of instances of a given entity (such as:    windows in a window
  24512. system, letters in an OS's filenames, etc.).     Specifically, one
  24513. should either disallow the entity entirely, allow    exactly one
  24514. instance (an "exception"), or allow as many as the    user wants -
  24515. address space and memory permitting.
  24516.  
  24517.    The logic behind this rule is that there are often situations where
  24518.  it makes clear sense to allow one of something instead of none.
  24519. However, if one decides to go further and allow N (for N > 1), then
  24520. why not N+1?  And if N+1, then why not N+2, and so on?  Once above
  24521. 1, there's no excuse not to allow any N; hence, {infinity}.
  24522.  
  24523.    Many hackers recall in this connection Isaac Asimov's SF novel
  24524. "The Gods Themselves" in which a character announces that the    number
  24525. 2 is impossible - if you're going to believe in more than    one
  24526. universe, you might as well believe in an infinite number of    them.
  24527.  
  24528.    :zeroth: /zee'rohth/ adj.  First.  Among software designers,
  24529. comes from C's and LISP's 0-based indexing of arrays.  Hardware
  24530. people also tend to start counting at 0 instead of 1; this is
  24531. natural since, e.g., the 256 states of 8 bits correspond to the
  24532. binary numbers 0, 1, ..., 255 and the digital devices known as
  24533. `counters' count in this way.
  24534.  
  24535.    Hackers and computer scientists often like to call the first
  24536. chapter of a publication `Chapter 0', especially if it is of an
  24537. introductory nature (one of the classic instances was in the First
  24538. Edition of {K&R}).  In recent years this trait has also been
  24539. observed among many pure mathematicians (who have an independent
  24540. tradition of numbering from 0).  Zero-based numbering tends to
  24541. reduce {fencepost error}s, though it cannot eliminate them    entirely.
  24542.  
  24543.    :zigamorph: /zig'*-morf/ n.  1. Hex FF (11111111) when    used as a
  24544. delimiter or {fence} character.  Usage: primarily at    IBM shops.  2.
  24545. [proposed] n. The Unicode non-character U+FFFF    (1111111111111111), a
  24546. character code which is not assigned to any    character, and so is
  24547. usable as end-of-string.  (Unicode is a 16-bit    character code
  24548. intended to cover all of the world's writing    systems, including
  24549. Latin, Greek, Cyrillic, Chinese, hiragana,    katakana, Devanagari,
  24550. Thai, Laotian and many other    scripts - support for {elvish} is
  24551. planned for a future    release).
  24552.  
  24553.    :zip: vt.  [primarily MS-DOS] To create a compressed archive    from
  24554. a group of files using PKWare's PKZIP or a compatible    archiver.  Its
  24555. use is spreading now that portable implementations    of the algorithm
  24556. have been written.  Commonly used as follows:    "I'll zip it up and
  24557. send it to you."  See {tar and feather}.
  24558.  
  24559.    :zipperhead: n.  [IBM] A person with a closed mind.
  24560.  
  24561.    :zombie: n.  [Unix] A process that has died but has not yet
  24562. relinquished its process table slot (because the parent process
  24563. hasn't executed a `wait(2)' for it yet).  These can be seen in
  24564. `ps(1)' listings occasionally.  Compare {orphan}.
  24565.  
  24566.    :zorch: /zorch/  1. [TMRC] v. To attack with an inverse heat
  24567. sink.  2. [TMRC] v. To travel, with v approaching c    [that is, with
  24568. velocity approaching lightspeed --ESR].  3. [MIT]    v. To propel
  24569. something very quickly.  "The new comm software is    very fast; it
  24570. really zorches files through the network."  4. [MIT]    n.  Influence.
  24571. Brownie points.  Good karma.  The intangible and    fuzzy currency in
  24572. which favors are measured.  "I'd rather not ask    him for that just
  24573. yet; I think I've used up my quota of zorch with    him for the week."
  24574. 5. [MIT] n. Energy, drive, or ability.  "I    think I'll {punt} that
  24575. change for now; I've been up for 30 hours    and I've run out of
  24576. zorch."  6. [MIT] v. To flunk an exam or    course.
  24577.  
  24578.    :Zork: /zork/ n.  The second of the great early experiments    in
  24579. computer fantasy gaming; see {ADVENT}.  Originally written    on MIT-DM
  24580. during 1977-1979, later distributed with BSD Unix (as a    patched,
  24581. sourceless RT-11 FORTRAN binary; see {retrocomputing})    and
  24582. commercialized as `The Zork Trilogy' by {Infocom}.  The    FORTRAN
  24583. source was later rewritten for portability and released to    Usenet
  24584. under the name "Dungeon".  Both FORTRAN "Dungeon" and    translated C
  24585. versions are available at many FTP sites.  See also    {grue}.
  24586.  
  24587.    :zorkmid: /zork'mid/ n.  The canonical unit of currency in
  24588. hacker-written games.  This originated in {Zork} but has spread    to
  24589. {nethack} and is referred to in several other games.
  24590.  
  24591.    :(Lexicon Entries End Here):
  24592.  
  24593. :Hacker Folklore:
  24594. *****************
  24595.  
  24596.    This appendix contains several legends and fables that illuminate the
  24597. meaning of various entries in the lexicon.
  24598.  
  24599. :The Meaning of `Hack':
  24600. =======================
  24601.  
  24602.    "The word {hack} doesn't really have 69 different meanings",
  24603. according to MIT hacker Phil Agre.  "In fact, {hack} has only one
  24604. meaning, an extremely subtle and profound one which defies
  24605. articulation.  Which connotation is implied by a given use of the word
  24606. depends in similarly profound ways on the context.  Similar remarks
  24607. apply to a couple of other hacker words, most notably {random}."
  24608.  
  24609.    Hacking might be characterized as `an appropriate application of
  24610. ingenuity'.  Whether the result is a quick-and-dirty patchwork job or a
  24611. carefully crafted work of art, you have to admire the cleverness that
  24612. went into it.
  24613.  
  24614.    An important secondary meaning of {hack} is `a creative practical
  24615. joke'.  This kind of hack is easier to explain to non-hackers than the
  24616. programming kind.  Of course, some hacks have both natures; see the
  24617. lexicon entries for {pseudo} and {kgbvax}.  But here are some examples
  24618. of pure practical jokes that illustrate the hacking spirit:
  24619.  
  24620.      In 1961, students from Caltech (California Institute of
  24621.      Technology, in Pasadena) hacked the Rose Bowl football game.  One
  24622.      student posed as a reporter and `interviewed' the director of the
  24623.      University of Washington card stunts (such stunts involve people
  24624.      in the stands who hold up colored cards to make pictures).  The
  24625.      reporter learned exactly how the stunts were operated, and also
  24626.      that the director would be out to dinner later.
  24627.  
  24628.      While the director was eating, the students (who called themselves
  24629.      the `Fiendish Fourteen') picked a lock and stole a blank direction
  24630.      sheet for the card stunts.  They then had a printer run off 2300
  24631.      copies of the blank.  The next day they picked the lock again and
  24632.      stole the master plans for the stunts -- large sheets of graph
  24633.      paper colored in with the stunt pictures.  Using these as a guide,
  24634.      they made new instructions for three of the stunts on the
  24635.      duplicated blanks.  Finally, they broke in once more, replacing
  24636.      the stolen master plans and substituting the stack of diddled
  24637.      instruction sheets for the original set.
  24638.  
  24639.      The result was that three of the pictures were totally different.
  24640.      Instead of `WASHINGTON', the word ``CALTECH' was flashed.  Another
  24641.      stunt showed the word `HUSKIES', the Washington nickname, but
  24642.      spelled it backwards.  And what was supposed to have been a
  24643.      picture of a husky instead showed a beaver.  (Both Caltech and MIT
  24644.      use the beaver -- nature's engineer -- as a mascot.)
  24645.  
  24646.      After the game, the Washington faculty athletic representative
  24647.      said: "Some thought it ingenious; others were indignant."  The
  24648.      Washington student body president remarked: "No hard feelings, but
  24649.      at the time it was unbelievable.  We were amazed."
  24650.  
  24651. This is now considered a classic hack, particularly because revising
  24652. the direction sheets constituted a form of programming.
  24653.  
  24654.    Here is another classic hack:
  24655.  
  24656.      On November 20, 1982, MIT hacked the Harvard-Yale football game.
  24657.      Just after Harvard's second touchdown against Yale, in the first
  24658.      quarter, a small black ball popped up out of the ground at the
  24659.      40-yard line, and grew bigger, and bigger, and bigger.  The
  24660.      letters `MIT' appeared all over the ball.  As the players and
  24661.      officials stood around gawking, the ball grew to six feet in
  24662.      diameter and then burst with a bang and a cloud of white smoke.
  24663.  
  24664.      The "Boston Globe" later reported: "If you want to know the truth,
  24665.      MIT won The Game."
  24666.  
  24667.      The prank had taken weeks of careful planning by members of MIT's
  24668.      Delta Kappa Epsilon fraternity.  The device consisted of a weather
  24669.      balloon, a hydraulic ram powered by Freon gas to lift it out of the
  24670.      ground, and a vacuum-cleaner motor to inflate it.  They made eight
  24671.      separate expeditions to Harvard Stadium between 1 and 5 A.M.,
  24672.      locating an unused 110-volt circuit in the stadium and running
  24673.      buried wires from the stadium circuit to the 40-yard line, where
  24674.      they buried the balloon device.  When the time came to activate
  24675.      the device, two fraternity members had merely to flip a circuit
  24676.      breaker and push a plug into an outlet.
  24677.  
  24678.      This stunt had all the earmarks of a perfect hack: surprise,
  24679.      publicity, the ingenious use of technology, safety, and
  24680.      harmlessness.  The use of manual control allowed the prank to be
  24681.      timed so as not to disrupt the game (it was set off between plays,
  24682.      so the outcome of the game would not be unduly affected).  The
  24683.      perpetrators had even thoughtfully attached a note to the balloon
  24684.      explaining that the device was not dangerous and contained no
  24685.      explosives.
  24686.  
  24687.      Harvard president Derek Bok commented: "They have an awful lot of
  24688.      clever people down there at MIT, and they did it again."  President
  24689.      Paul E. Gray of MIT said: "There is absolutely no truth to the
  24690.      rumor that I had anything to do with it, but I wish there were."
  24691.  
  24692.    The hacks above are verifiable history; they can be proved to have
  24693. happened.  Many other classic-hack stories from MIT and elsewhere,
  24694. though retold as history, have the characteristics of what Jan Brunvand
  24695. has called `urban folklore' (see {FOAF}).  Perhaps the best known of
  24696. these is the legend of the infamous trolley-car hack, an alleged
  24697. incident in which engineering students are said to have welded a
  24698. trolley car to its tracks with thermite.  Numerous versions of this
  24699. have been recorded from the 1940s to the present, most set at MIT but
  24700. at least one very detailed version set at CMU.
  24701.  
  24702.    Brian Leibowitz has researched MIT hacks both real and mythical
  24703. extensively; the interested reader is referred to his delightful
  24704. pictorial compendium "The Journal of the Institute for Hacks,
  24705. Tomfoolery, and Pranks" (MIT Museum, 1990; ISBN 0-917027-03-5).  The
  24706. Institute has a World Wide Web page at
  24707. `http://fishwrap.mit.edu/Hacks/Gallery.html'. There is rumored to be a
  24708. sequel entitled "Is This The Way To Baker Street?".  The Caltech Alumni
  24709. Association has published two similar books titled "Legends of Caltech"
  24710. and "More Legends of Caltech".
  24711.  
  24712.    Finally, here is a story about one of the classic computer hacks.
  24713.  
  24714.      Back in the mid-1970s, several of the system support staff at
  24715.      Motorola discovered a relatively simple way to crack system
  24716.      security on the Xerox CP-V timesharing system.  Through a simple
  24717.      programming strategy, it was possible for a user program to trick
  24718.      the system into running a portion of the program in `master mode'
  24719.      (supervisor state), in which memory protection does not apply.
  24720.      The program could then poke a large value into its `privilege
  24721.      level' byte (normally write-protected) and could then proceed to
  24722.      bypass all levels of security within the file-management system,
  24723.      patch the system monitor, and do numerous other interesting
  24724.      things.  In short, the barn door was wide open.
  24725.  
  24726.      Motorola quite properly reported this problem to Xerox via an
  24727.      official `level 1 SIDR' (a bug report with an intended urgency of
  24728.      `needs to be fixed yesterday').  Because the text of each SIDR was
  24729.      entered into a database that could be viewed by quite a number of
  24730.      people, Motorola followed the approved procedure: they simply
  24731.      reported the problem as `Security SIDR', and attached all of the
  24732.      necessary documentation, ways-to-reproduce, etc.
  24733.  
  24734.      The CP-V people at Xerox sat on their thumbs; they either didn't
  24735.      realize the severity of the problem, or didn't assign the necessary
  24736.      operating-system-staff resources to develop and distribute an
  24737.      official patch.
  24738.  
  24739.      Months passed.  The Motorola guys pestered their Xerox
  24740.      field-support rep, to no avail.  Finally they decided to take
  24741.      direct action, to demonstrate to Xerox management just how easily
  24742.      the system could be cracked and just how thoroughly the security
  24743.      safeguards could be subverted.
  24744.  
  24745.      They dug around in the operating-system listings and devised a
  24746.      thoroughly devilish set of patches.  These patches were then
  24747.      incorporated into a pair of programs called `Robin Hood' and `Friar
  24748.      Tuck'.  Robin Hood and Friar Tuck were designed to run as `ghost
  24749.      jobs' (daemons, in Unix terminology); they would use the existing
  24750.      loophole to subvert system security, install the necessary
  24751.      patches, and then keep an eye on one another's statuses in order
  24752.      to keep the system operator (in effect, the superuser) from
  24753.      aborting them.
  24754.  
  24755.      One fine day, the system operator on the main CP-V software
  24756.      development system in El Segundo was surprised by a number of
  24757.      unusual phenomena.  These included the following:
  24758.  
  24759.         * Tape drives would rewind and dismount their tapes in the
  24760.           middle of a job.
  24761.  
  24762.         * Disk drives would seek back and forth so rapidly that they
  24763.           would attempt to walk across the floor (see {walking
  24764.           drives}).
  24765.  
  24766.         * The card-punch output device would occasionally start up of
  24767.           itself and punch a {lace card}.  These would usually jam in
  24768.           the punch.
  24769.  
  24770.         * The console would print snide and insulting messages from
  24771.           Robin Hood to Friar Tuck, or vice versa.
  24772.  
  24773.         * The Xerox card reader had two output stackers; it could be
  24774.           instructed to stack into A, stack into B, or stack into A
  24775.           (unless a card was unreadable, in which case the bad card was
  24776.           placed into stacker B).  One of the patches installed by the
  24777.           ghosts added some code to the card-reader driver... after
  24778.           reading a card, it would flip over to the opposite stacker.
  24779.           As a result, card decks would divide themselves in half when
  24780.           they were read, leaving the operator to recollate them
  24781.           manually.
  24782.  
  24783.      Naturally, the operator called in the operating-system developers.
  24784.      They found the bandit ghost jobs running, and {gun}ned them...
  24785.      and were once again surprised.  When Robin Hood was gunned, the
  24786.      following sequence of events took place:
  24787.  
  24788.           !X id1
  24789.  
  24790.           id1: Friar Tuck... I am under attack!  Pray save me!
  24791.           id1: Off (aborted)
  24792.  
  24793.           id2: Fear not, friend Robin!  I shall rout the Sheriff
  24794.                of Nottingham's men!
  24795.  
  24796.           id1: Thank you, my good fellow!
  24797.  
  24798.      Each ghost-job would detect the fact that the other had been
  24799.      killed, and would start a new copy of the recently slain program
  24800.      within a few milliseconds.  The only way to kill both ghosts was
  24801.      to kill them simultaneously (very difficult) or to deliberately
  24802.      crash the system.
  24803.  
  24804.      Finally, the system programmers did the latter -- only to find
  24805.      that the bandits appeared once again when the system rebooted!  It
  24806.      turned out that these two programs had patched the boot-time OS
  24807.      image (the kernel file, in Unix terms) and had added themselves to
  24808.      the list of programs that were to be started at boot time (this is
  24809.      similar to the way MS-DOS viruses propagate).
  24810.  
  24811.      The Robin Hood and Friar Tuck ghosts were finally eradicated when
  24812.      the system staff rebooted the system from a clean boot-tape and
  24813.      reinstalled the monitor.  Not long thereafter, Xerox released a
  24814.      patch for this problem.
  24815.  
  24816.      It is alleged that Xerox filed a complaint with Motorola's
  24817.      management about the merry-prankster actions of the two employees
  24818.      in question.  It is not recorded that any serious disciplinary
  24819.      action was taken against either of them.
  24820.  
  24821. :TV Typewriters: A Tale of Hackish Ingenuity
  24822. ============================================
  24823.  
  24824.    Here is a true story about a glass tty:  One day an MIT hacker was in
  24825. a motorcycle accident and broke his leg.  He had to stay in the
  24826. hospital quite a while, and got restless because he couldn't {hack}.
  24827. Two of his friends therefore took a terminal and a modem for it to the
  24828. hospital, so that he could use the computer by telephone from his
  24829. hospital bed.
  24830.  
  24831.    Now this happened some years before the spread of home computers, and
  24832. computer terminals were not a familiar sight to the average person.
  24833. When the two friends got to the hospital, a guard stopped them and
  24834. asked what they were carrying.  They explained that they wanted to take
  24835. a computer terminal to their friend who was a patient.
  24836.  
  24837.    The guard got out his list of things that patients were permitted to
  24838. have in their rooms: TV, radio, electric razor, typewriter, tape
  24839. player, ... no computer terminals.  Computer terminals weren't on the
  24840. list, so the guard wouldn't let it in.  Rules are rules, you know.
  24841. (This guard was clearly a {droid}.)
  24842.  
  24843.    Fair enough, said the two friends, and they left again.  They were
  24844. frustrated, of course, because they knew that the terminal was as
  24845. harmless as a TV or anything else on the list... which gave them an
  24846. idea.
  24847.  
  24848.    The next day they returned, and the same thing happened: a guard
  24849. stopped them and asked what they were carrying.  They said: "This is a
  24850. TV typewriter!"  The guard was skeptical, so they plugged it in and
  24851. demonstrated it.  "See?  You just type on the keyboard and what you
  24852. type shows up on the TV screen."  Now the guard didn't stop to think
  24853. about how utterly useless a typewriter would be that didn't produce any
  24854. paper copies of what you typed; but this was clearly a TV typewriter,
  24855. no doubt about it.  So he checked his list: "A TV is all right, a
  24856. typewriter is all right ... okay, take it on in!"
  24857.  
  24858.    [Historical note: Many years ago, "Popular Electronics" published
  24859. solder-it-yourself plans for a TV typewriter.  Despite the essential
  24860. uselessness of the device, it was an enormously popular project.  Steve
  24861. Ciarcia, the man behind "Byte" magazine's "Circuit Cellar" feature,
  24862. resurrected this ghost in one of his books of the early 1980s.  He
  24863. ascribed its popularity (no doubt correctly) to the feeling of power
  24864. the builder could achieve by being able to decide himself what would be
  24865. shown on the TV. --ESR]
  24866.  
  24867.    [Antihistorical note: On September 23rd, 1992, the L.A. Times ran
  24868. the following bit of filler:
  24869.  
  24870.      Solomon Waters of Altadena, a 6-year-old first-grader, came home
  24871.      from his first day of school and excitedly told his mother how he
  24872.      had written on "a machine that looks like a computer - but without
  24873.      the TV screen."  She asked him if it could have been a
  24874.      "typewriter."  "Yeah! Yeah!" he said.  "That's what it was called."
  24875.  
  24876.    I have since investigated this matter and determined that many of
  24877. today's teenagers have never seen a slide rule, either.... - ESR]
  24878.  
  24879. :A Story About `Magic':
  24880. =======================
  24881.  
  24882.    Some years ago, I (GLS) was snooping around in the cabinets that
  24883. housed the MIT AI Lab's PDP-10, and noticed a little switch glued to
  24884. the frame of one cabinet.  It was obviously a homebrew job, added by
  24885. one of the lab's hardware hackers (no one knows who).
  24886.  
  24887.    You don't touch an unknown switch on a computer without knowing what
  24888. it does, because you might crash the computer.  The switch was labeled
  24889. in a most unhelpful way.  It had two positions, and scrawled in pencil
  24890. on the metal switch body were the words `magic' and `more magic'.  The
  24891. switch was in the `more magic' position.
  24892.  
  24893.    I called another hacker over to look at it.  He had never seen the
  24894. switch before either.  Closer examination revealed that the switch had
  24895. only one wire running to it!  The other end of the wire did disappear
  24896. into the maze of wires inside the computer, but it's a basic fact of
  24897. electricity that a switch can't do anything unless there are two wires
  24898. connected to it.  This switch had a wire connected on one side and no
  24899. wire on its other side.
  24900.  
  24901.    It was clear that this switch was someone's idea of a silly joke.
  24902. Convinced by our reasoning that the switch was inoperative, we flipped
  24903. it.  The computer instantly crashed.
  24904.  
  24905.    Imagine our utter astonishment.  We wrote it off as coincidence, but
  24906. nevertheless restored the switch to the `more magic' position before
  24907. reviving the computer.
  24908.  
  24909.    A year later, I told this story to yet another hacker, David Moon as
  24910. I recall.  He clearly doubted my sanity, or suspected me of a
  24911. supernatural belief in the power of this switch, or perhaps thought I
  24912. was fooling him with a bogus saga.  To prove it to him, I showed him
  24913. the very switch, still glued to the cabinet frame with only one wire
  24914. connected to it, still in the `more magic' position.  We scrutinized
  24915. the switch and its lone connection, and found that the other end of the
  24916. wire, though connected to the computer wiring, was connected to a
  24917. ground pin.  That clearly made the switch doubly useless: not only was
  24918. it electrically nonoperative, but it was connected to a place that
  24919. couldn't affect anything anyway.  So we flipped the switch.
  24920.  
  24921.    The computer promptly crashed.
  24922.  
  24923.    This time we ran for Richard Greenblatt, a long-time MIT hacker, who
  24924. was close at hand.  He had never noticed the switch before, either.  He
  24925. inspected it, concluded it was useless, got some diagonal cutters and
  24926. {dike}d it out.  We then revived the computer and it has run fine ever
  24927. since.
  24928.  
  24929.    We still don't know how the switch crashed the machine.  There is a
  24930. theory that some circuit near the ground pin was marginal, and flipping
  24931. the switch changed the electrical capacitance enough to upset the
  24932. circuit as millionth-of-a-second pulses went through it.  But we'll
  24933. never know for sure; all we can really say is that the switch was
  24934. {magic}.
  24935.  
  24936.    I still have that switch in my basement.  Maybe I'm silly, but I
  24937. usually keep it set on `more magic'.
  24938.  
  24939.    1994: Another explanation of this story has since been offered.
  24940. Note that the switch body was metal.  Suppose that the non-connected
  24941. side of the switch was connected to the switch body (usually the body
  24942. is connected to a separate earth lug, but there are exceptions).  The
  24943. body is connected to the computer case, which is, presumably, grounded.
  24944. Now the circuit ground within the machine isn't necessarily at the same
  24945. potential as the case ground, so flipping the switch connected the
  24946. circuit ground to the case ground, causing a voltage drop/jump which
  24947. reset the machine.  This was probably discovered by someone who found
  24948. out the hard way that there was a potential difference between the two,
  24949. and who then wired in the switch as a joke.
  24950.  
  24951. :Some AI Koans:
  24952. ===============
  24953.  
  24954.    These are some of the funniest examples of a genre of jokes told at
  24955. the MIT AI Lab about various noted hackers.  The original koans were
  24956. composed by Danny Hillis.  In reading these, it is at least useful to
  24957. know that Minsky, Sussman, and Drescher are AI researchers of note,
  24958. that Tom Knight was one of the Lisp machine's principal designers, and
  24959. that David Moon wrote much of Lisp Machine Lisp.
  24960.  
  24961.                                  * * *
  24962.  
  24963.    A novice was trying to fix a broken Lisp machine by turning the power
  24964. off and on.
  24965.  
  24966.    Knight, seeing what the student was doing, spoke sternly: "You cannot
  24967. fix a machine by just power-cycling it with no understanding of what is
  24968. going wrong."
  24969.  
  24970.    Knight turned the machine off and on.
  24971.  
  24972.    The machine worked.
  24973.  
  24974.                                  * * *
  24975.  
  24976.    One day a student came to Moon and said: "I understand how to make a
  24977. better garbage collector.  We must keep a reference count of the
  24978. pointers to each cons."
  24979.  
  24980.    Moon patiently told the student the following story:
  24981.  
  24982.      "One day a student came to Moon and said: `I understand how to
  24983.      make a better garbage collector...
  24984.  
  24985.    [Ed. note: Pure reference-count garbage collectors have problems with
  24986. circular structures that point to themselves.]
  24987.  
  24988.                                  * * *
  24989.  
  24990.    In the days when Sussman was a novice, Minsky once came to him as he
  24991. sat hacking at the PDP-6.
  24992.  
  24993.    "What are you doing?", asked Minsky.
  24994.  
  24995.    "I am training a randomly wired neural net to play Tic-Tac-Toe"
  24996. Sussman replied.
  24997.  
  24998.    "Why is the net wired randomly?", asked Minsky.
  24999.  
  25000.    "I do not want it to have any preconceptions of how to play",
  25001. Sussman said.
  25002.  
  25003.    Minsky then shut his eyes.
  25004.  
  25005.    "Why do you close your eyes?", Sussman asked his teacher.
  25006.  
  25007.    "So that the room will be empty."
  25008.  
  25009.    At that moment, Sussman was enlightened.
  25010.  
  25011.                                  * * *
  25012.  
  25013.    A disciple of another sect once came to Drescher as he was eating
  25014. his morning meal.
  25015.  
  25016.    "I would like to give you this personality test", said the outsider,
  25017. "because I want you to be happy."
  25018.  
  25019.    Drescher took the paper that was offered him and put it into the
  25020. toaster, saying: "I wish the toaster to be happy, too."
  25021.  
  25022. :OS and JEDGAR:
  25023. ===============
  25024.  
  25025.    This story says a lot about the ITS ethos.
  25026.  
  25027.    On the ITS system there was a program that allowed you to see what
  25028. was being printed on someone else's terminal.  It spied on the other
  25029. guy's output by examining the insides of the monitor system.  The
  25030. output spy program was called OS.  Throughout the rest of the computer
  25031. science (and at IBM too) OS means `operating system', but among
  25032. old-time ITS hackers it almost always meant `output spy'.
  25033.  
  25034.    OS could work because ITS purposely had very little in the way of
  25035. `protection' that prevented one user from trespassing on another's
  25036. areas.  Fair is fair, however.  There was another program that would
  25037. automatically notify you if anyone started to spy on your output.  It
  25038. worked in exactly the same way, by looking at the insides of the
  25039. operating system to see if anyone else was looking at the insides that
  25040. had to do with your output.  This `counterspy' program was called
  25041. JEDGAR (a six-letterism pronounced as two syllables: jed'gr), in honor
  25042. of the former head of the FBI.
  25043.  
  25044.    But there's more.  JEDGAR would ask the user for `license to kill'.
  25045. If the user said yes, then JEDGAR would actually {gun} the job of the
  25046. {luser} who was spying.  Unfortunately, people found that this made
  25047. life too violent, especially when tourists learned about it.  One of
  25048. the systems hackers solved the problem by replacing JEDGAR with another
  25049. program that only pretended to do its job.  It took a long time to do
  25050. this, because every copy of JEDGAR had to be patched.  To this day no
  25051. one knows how many people never figured out that JEDGAR had been
  25052. defanged.
  25053.  
  25054.    Interestingly, there is still a security module named JEDGAR alive as
  25055. of late 1994 -- in the Unisys MCP for large systems.  It is unknown to
  25056. us whether the name is tribute or independent invention.
  25057.  
  25058. :The Story of Mel:
  25059. ==================
  25060.  
  25061.    This was posted to Usenet by its author, Ed Nather
  25062. (<utastro!nather>), on May 21, 1983.
  25063.  
  25064.      A recent article devoted to the _macho_ side of programming
  25065.      made the bald and unvarnished statement:
  25066.  
  25067.          Real Programmers write in FORTRAN.
  25068.  
  25069.      Maybe they do now,
  25070.      in this decadent era of
  25071.      Lite beer, hand calculators, and ``user-friendly'' software
  25072.      but back in the Good Old Days,
  25073.      when the term ``software'' sounded funny
  25074.      and Real Computers were made out of drums and vacuum tubes,
  25075.      Real Programmers wrote in machine code.
  25076.      Not FORTRAN.  Not RATFOR.  Not, even, assembly language.
  25077.      Machine Code.
  25078.      Raw, unadorned, inscrutable hexadecimal numbers.
  25079.      Directly.
  25080.  
  25081.      Lest a whole new generation of programmers
  25082.      grow up in ignorance of this glorious past,
  25083.      I feel duty-bound to describe,
  25084.      as best I can through the generation gap,
  25085.      how a Real Programmer wrote code.
  25086.      I'll call him Mel,
  25087.      because that was his name.
  25088.  
  25089.      I first met Mel when I went to work for Royal McBee Computer Corp.,
  25090.      a now-defunct subsidiary of the typewriter company.
  25091.      The firm manufactured the LGP-30,
  25092.      a small, cheap (by the standards of the day)
  25093.      drum-memory computer,
  25094.      and had just started to manufacture
  25095.      the RPC-4000, a much-improved,
  25096.      bigger, better, faster --- drum-memory computer.
  25097.      Cores cost too much,
  25098.      and weren't here to stay, anyway.
  25099.      (That's why you haven't heard of the company,
  25100.      or the computer.)
  25101.  
  25102.      I had been hired to write a FORTRAN compiler
  25103.      for this new marvel and Mel was my guide to its wonders.
  25104.      Mel didn't approve of compilers.
  25105.  
  25106.      ``If a program can't rewrite its own code'',
  25107.      he asked, ``what good is it?''
  25108.  
  25109.      Mel had written,
  25110.      in hexadecimal,
  25111.      the most popular computer program the company owned.
  25112.      It ran on the LGP-30
  25113.      and played blackjack with potential customers
  25114.      at computer shows.
  25115.      Its effect was always dramatic.
  25116.      The LGP-30 booth was packed at every show,
  25117.      and the IBM salesmen stood around
  25118.      talking to each other.
  25119.      Whether or not this actually sold computers
  25120.      was a question we never discussed.
  25121.  
  25122.      Mel's job was to re-write
  25123.      the blackjack program for the RPC-4000.
  25124.      (Port?  What does that mean?)
  25125.      The new computer had a one-plus-one
  25126.      addressing scheme,
  25127.      in which each machine instruction,
  25128.      in addition to the operation code
  25129.      and the address of the needed operand,
  25130.      had a second address that indicated where, on the revolving drum,
  25131.      the next instruction was located.
  25132.  
  25133.      In modern parlance,
  25134.      every single instruction was followed by a GO TO!
  25135.      Put _that_ in Pascal's pipe and smoke it.
  25136.  
  25137.      Mel loved the RPC-4000
  25138.      because he could optimize his code:
  25139.      that is, locate instructions on the drum
  25140.      so that just as one finished its job,
  25141.      the next would be just arriving at the ``read head''
  25142.      and available for immediate execution.
  25143.      There was a program to do that job,
  25144.      an ``optimizing assembler'',
  25145.      but Mel refused to use it.
  25146.  
  25147.      ``You never know where it's going to put things'',
  25148.      he explained, ``so you'd have to use separate constants''.
  25149.  
  25150.      It was a long time before I understood that remark.
  25151.      Since Mel knew the numerical value
  25152.      of every operation code,
  25153.      and assigned his own drum addresses,
  25154.      every instruction he wrote could also be considered
  25155.      a numerical constant.
  25156.      He could pick up an earlier ``add'' instruction, say,
  25157.      and multiply by it,
  25158.      if it had the right numeric value.
  25159.      His code was not easy for someone else to modify.
  25160.  
  25161.      I compared Mel's hand-optimized programs
  25162.      with the same code massaged by the optimizing assembler program,
  25163.      and Mel's always ran faster.
  25164.      That was because the ``top-down'' method of program design
  25165.      hadn't been invented yet,
  25166.      and Mel wouldn't have used it anyway.
  25167.      He wrote the innermost parts of his program loops first,
  25168.      so they would get first choice
  25169.      of the optimum address locations on the drum.
  25170.      The optimizing assembler wasn't smart enough to do it that way.
  25171.  
  25172.      Mel never wrote time-delay loops, either,
  25173.      even when the balky Flexowriter
  25174.      required a delay between output characters to work right.
  25175.      He just located instructions on the drum
  25176.      so each successive one was just _past_ the read head
  25177.      when it was needed;
  25178.      the drum had to execute another complete revolution
  25179.      to find the next instruction.
  25180.      He coined an unforgettable term for this procedure.
  25181.      Although ``optimum'' is an absolute term,
  25182.      like ``unique'', it became common verbal practice
  25183.      to make it relative:
  25184.      ``not quite optimum'' or ``less optimum''
  25185.      or ``not very optimum''.
  25186.      Mel called the maximum time-delay locations
  25187.      the ``most pessimum''.
  25188.  
  25189.      After he finished the blackjack program
  25190.      and got it to run
  25191.      (``Even the initializer is optimized'',
  25192.      he said proudly),
  25193.      he got a Change Request from the sales department.
  25194.      The program used an elegant (optimized)
  25195.      random number generator
  25196.      to shuffle the ``cards'' and deal from the ``deck'',
  25197.      and some of the salesmen felt it was too fair,
  25198.      since sometimes the customers lost.
  25199.      They wanted Mel to modify the program
  25200.      so, at the setting of a sense switch on the console,
  25201.      they could change the odds and let the customer win.
  25202.  
  25203.      Mel balked.
  25204.      He felt this was patently dishonest,
  25205.      which it was,
  25206.      and that it impinged on his personal integrity as a programmer,
  25207.      which it did,
  25208.      so he refused to do it.
  25209.      The Head Salesman talked to Mel,
  25210.      as did the Big Boss and, at the boss's urging,
  25211.      a few Fellow Programmers.
  25212.      Mel finally gave in and wrote the code,
  25213.      but he got the test backwards,
  25214.      and, when the sense switch was turned on,
  25215.      the program would cheat, winning every time.
  25216.      Mel was delighted with this,
  25217.      claiming his subconscious was uncontrollably ethical,
  25218.      and adamantly refused to fix it.
  25219.  
  25220.      After Mel had left the company for greener pa$ture$,
  25221.      the Big Boss asked me to look at the code
  25222.      and see if I could find the test and reverse it.
  25223.      Somewhat reluctantly, I agreed to look.
  25224.      Tracking Mel's code was a real adventure.
  25225.  
  25226.      I have often felt that programming is an art form,
  25227.      whose real value can only be appreciated
  25228.      by another versed in the same arcane art;
  25229.      there are lovely gems and brilliant coups
  25230.      hidden from human view and admiration, sometimes forever,
  25231.      by the very nature of the process.
  25232.      You can learn a lot about an individual
  25233.      just by reading through his code,
  25234.      even in hexadecimal.
  25235.      Mel was, I think, an unsung genius.
  25236.  
  25237.      Perhaps my greatest shock came
  25238.      when I found an innocent loop that had no test in it.
  25239.      No test.  _None_.
  25240.      Common sense said it had to be a closed loop,
  25241.      where the program would circle, forever, endlessly.
  25242.      Program control passed right through it, however,
  25243.      and safely out the other side.
  25244.      It took me two weeks to figure it out.
  25245.  
  25246.      The RPC-4000 computer had a really modern facility
  25247.      called an index register.
  25248.      It allowed the programmer to write a program loop
  25249.      that used an indexed instruction inside;
  25250.      each time through,
  25251.      the number in the index register
  25252.      was added to the address of that instruction,
  25253.      so it would refer
  25254.      to the next datum in a series.
  25255.      He had only to increment the index register
  25256.      each time through.
  25257.      Mel never used it.
  25258.  
  25259.      Instead, he would pull the instruction into a machine register,
  25260.      add one to its address,
  25261.      and store it back.
  25262.      He would then execute the modified instruction
  25263.      right from the register.
  25264.      The loop was written so this additional execution time
  25265.      was taken into account ---
  25266.      just as this instruction finished,
  25267.      the next one was right under the drum's read head,
  25268.      ready to go.
  25269.      But the loop had no test in it.
  25270.  
  25271.      The vital clue came when I noticed
  25272.      the index register bit,
  25273.      the bit that lay between the address
  25274.      and the operation code in the instruction word,
  25275.      was turned on ---
  25276.      yet Mel never used the index register,
  25277.      leaving it zero all the time.
  25278.      When the light went on it nearly blinded me.
  25279.  
  25280.      He had located the data he was working on
  25281.      near the top of memory ---
  25282.      the largest locations the instructions could address ---
  25283.      so, after the last datum was handled,
  25284.      incrementing the instruction address
  25285.      would make it overflow.
  25286.      The carry would add one to the
  25287.      operation code, changing it to the next one in the instruction set:
  25288.      a jump instruction.
  25289.      Sure enough, the next program instruction was
  25290.      in address location zero,
  25291.      and the program went happily on its way.
  25292.  
  25293.      I haven't kept in touch with Mel,
  25294.      so I don't know if he ever gave in to the flood of
  25295.      change that has washed over programming techniques
  25296.      since those long-gone days.
  25297.      I like to think he didn't.
  25298.      In any event,
  25299.      I was impressed enough that I quit looking for the
  25300.      offending test,
  25301.      telling the Big Boss I couldn't find it.
  25302.      He didn't seem surprised.
  25303.  
  25304.      When I left the company,
  25305.      the blackjack program would still cheat
  25306.      if you turned on the right sense switch,
  25307.      and I think that's how it should be.
  25308.      I didn't feel comfortable
  25309.      hacking up the code of a Real Programmer.
  25310.  
  25311. This is one of hackerdom's great heroic epics, free verse or no.  In a
  25312. few spare images it captures more about the esthetics and psychology of
  25313. hacking than all the scholarly volumes on the subject put together.
  25314. For an opposing point of view, see the entry for {Real Programmer}.
  25315.  
  25316.    [1992 postscript -- the author writes: "The original submission to
  25317. the net was not in free verse, nor any approximation to it -- it was
  25318. straight prose style, in non-justified paragraphs.  In bouncing around
  25319. the net it apparently got modified into the `free verse' form now
  25320. popular.  In other words, it got hacked on the net.  That seems
  25321. appropriate, somehow." The author adds that he likes the `free-verse'
  25322. version better...]
  25323.  
  25324.    [1999 update: Mel's last name is now known.  The manual for the
  25325. LGP-30 refers to "Mel Kaye of Royal McBee who did the bulk of the
  25326. programming [...] of the ACT 1 system".]
  25327.  
  25328. :A Portrait of J. Random Hacker:
  25329. ********************************
  25330.  
  25331.    This profile reflects detailed comments on an earlier `trial balloon'
  25332. version from about a hundred Usenet respondents.  Where comparatives
  25333. are used, the implicit `other' is a randomly selected segment of the
  25334. non-hacker population of the same size as hackerdom.
  25335.  
  25336.    An important point: Except in some relatively minor respects such as
  25337. slang vocabulary, hackers don't get to be the way they are by imitating
  25338. each other.  Rather, it seems to be the case that the combination of
  25339. personality traits that makes a hacker so conditions one's outlook on
  25340. life that one tends to end up being like other hackers whether one
  25341. wants to or not (much as bizarrely detailed similarities in behavior
  25342. and preferences are found in genetic twins raised separately).
  25343.  
  25344. :General Appearance:
  25345. ====================
  25346.  
  25347.    Intelligent.  Scruffy.  Intense.  Abstracted.  Surprisingly for a
  25348. sedentary profession, more hackers run to skinny than fat; both
  25349. extremes are more common than elsewhere.  Tans are rare.
  25350.  
  25351. :Dress:
  25352. =======
  25353.  
  25354.    Casual, vaguely post-hippie; T-shirts, jeans, running shoes,
  25355. Birkenstocks (or bare feet).  Long hair, beards, and moustaches are
  25356. common.  High incidence of tie-dye and intellectual or humorous
  25357. `slogan' T-shirts (only rarely computer related; that would be too
  25358. obvious).
  25359.  
  25360.    A substantial minority prefers `outdoorsy' clothing -- hiking boots
  25361. ("in case a mountain should suddenly spring up in the machine room", as
  25362. one famous parody put it), khakis, lumberjack or chamois shirts, and
  25363. the like.
  25364.  
  25365.    Very few actually fit the "National Lampoon" Nerd stereotype, though
  25366. it lingers on at MIT and may have been more common before 1975.  At
  25367. least since the late Seventies backpacks have been more common than
  25368. briefcases, and the hacker `look' has been more whole-earth than
  25369. whole-polyester.
  25370.  
  25371.    Hackers dress for comfort, function, and minimal maintenance hassles
  25372. rather than for appearance (some, perhaps unfortunately, take this to
  25373. extremes and neglect personal hygiene).  They have a very low tolerance
  25374. of suits and other `business' attire; in fact, it is not uncommon for
  25375. hackers to quit a job rather than conform to a dress code.
  25376.  
  25377.    Female hackers almost never wear visible makeup, and many use none at
  25378. all.
  25379.  
  25380. :Reading Habits:
  25381. ================
  25382.  
  25383.    Omnivorous, but usually includes lots of science and science fiction.
  25384. The typical hacker household might subscribe to "Analog", "Scientific
  25385. American", "Whole-Earth Review", and "Smithsonian" (most hackers ignore
  25386. "Wired" and other self-consciously `cyberpunk' magazines, considering
  25387. them {wannabee} fodder).  Hackers often have a reading range that
  25388. astonishes liberal arts people but tend not to talk about it as much.
  25389. Many hackers spend as much of their spare time reading as the average
  25390. American burns up watching TV, and often keep shelves and shelves of
  25391. well-thumbed books in their homes.
  25392.  
  25393. :Other Interests:
  25394. =================
  25395.  
  25396.    Some hobbies are widely shared and recognized as going with the
  25397. culture: science fiction, music, medievalism (in the active form
  25398. practiced by the Society for Creative Anachronism and similar
  25399. organizations), chess, go, backgammon, wargames, and intellectual games
  25400. of all kinds.  (Role-playing games such as Dungeons and Dragons used to
  25401. be extremely popular among hackers but they lost a bit of their luster
  25402. as they moved into the mainstream and became heavily commercialized.
  25403. More recently, "Magic: The Gathering" has been widely popular among
  25404. hackers.)  Logic puzzles.  Ham radio.  Other interests that seem to
  25405. correlate less strongly but positively with hackerdom include
  25406. linguistics and theater teching.
  25407.  
  25408. :Physical Activity and Sports:
  25409. ==============================
  25410.  
  25411.    Many (perhaps even most) hackers don't follow or do sports at all and
  25412. are determinedly anti-physical.  Among those who do, interest in
  25413. spectator sports is low to non-existent; sports are something one
  25414. _does_, not something one watches on TV.
  25415.  
  25416.    Further, hackers avoid most team sports like the plague.  Volleyball
  25417. was long a notable exception, perhaps because it's non-contact and
  25418. relatively friendly; Ultimate Frisbee has become quite popular for
  25419. similar reasons.  Hacker sports are almost always primarily
  25420. self-competitive ones involving concentration, stamina, and micromotor
  25421. skills: martial arts, bicycling, auto racing, kite flying, hiking, rock
  25422. climbing, aviation, target-shooting, sailing, caving, juggling, skiing,
  25423. skating (ice and roller).  Hackers' delight in techno-toys also tends
  25424. to draw them towards hobbies with nifty complicated equipment that they
  25425. can tinker with.
  25426.  
  25427. :Education:
  25428. ===========
  25429.  
  25430.    Nearly all hackers past their teens are either college-degreed or
  25431. self-educated to an equivalent level.  The self-taught hacker is often
  25432. considered (at least by other hackers) to be better-motivated, and may
  25433. be more respected, than his school-shaped counterpart.  Academic areas
  25434. from which people often gravitate into hackerdom include (besides the
  25435. obvious computer science and electrical engineering) physics,
  25436. mathematics, linguistics, and philosophy.
  25437.  
  25438. :Things Hackers Detest and Avoid:
  25439. =================================
  25440.  
  25441.    IBM mainframes.  All the works of Microsoft.  Smurfs, Ewoks, and
  25442. other forms of offensive cuteness.  Bureaucracies.  Stupid people.  Easy
  25443. listening music.  Television (with occasional exceptions for cartoons,
  25444. movies, and good SF like "Star Trek" classic or Babylon 5).  Business
  25445. suits.  Dishonesty.  Incompetence.  Boredom.  COBOL. BASIC.
  25446. Character-based menu interfaces.
  25447.  
  25448. :Food:
  25449. ======
  25450.  
  25451.    Ethnic.  Spicy.  Oriental, esp. Chinese and most esp. Szechuan,
  25452. Hunan, and Mandarin (hackers consider Cantonese vaguely de'classe').
  25453. Hackers prefer the exotic; for example, the Japanese-food fans among
  25454. them will eat with gusto such delicacies as fugu (poisonous pufferfish)
  25455. and whale.  Thai food has experienced flurries of popularity.  Where
  25456. available, high-quality Jewish delicatessen food is much esteemed.  A
  25457. visible minority of Southwestern and Pacific Coast hackers prefers
  25458. Mexican.
  25459.  
  25460.    For those all-night hacks, pizza and microwaved burritos are big.
  25461. Interestingly, though the mainstream culture has tended to think of
  25462. hackers as incorrigible junk-food junkies, many have at least mildly
  25463. health-foodist attitudes and are fairly discriminating about what they
  25464. eat.  This may be generational; anecdotal evidence suggests that the
  25465. stereotype was more on the mark before the early 1980s.
  25466.  
  25467. :Politics:
  25468. ==========
  25469.  
  25470.    Vaguely liberal-moderate, except for the strong libertarian
  25471. contingent which rejects conventional left-right politics entirely.
  25472. The only safe generalization is that hackers tend to be rather
  25473. anti-authoritarian; thus, both conventional conservatism and `hard'
  25474. leftism are rare.  Hackers are far more likely than most non-hackers to
  25475. either (a) be aggressively apolitical or (b) entertain peculiar or
  25476. idiosyncratic political ideas and actually try to live by them
  25477. day-to-day.
  25478.  
  25479. :Gender and Ethnicity:
  25480. ======================
  25481.  
  25482.    Hackerdom is still predominantly male.  However, the percentage of
  25483. women is clearly higher than the low-single-digit range typical for
  25484. technical professions, and female hackers are generally respected and
  25485. dealt with as equals.
  25486.  
  25487.    In the U.S., hackerdom is predominantly Caucasian with strong
  25488. minorities of Jews (East Coast) and Orientals (West Coast).  The Jewish
  25489. contingent has exerted a particularly pervasive cultural influence (see
  25490. {Food}, above, and note that several common jargon terms are obviously
  25491. mutated Yiddish).
  25492.  
  25493.    The ethnic distribution of hackers is understood by them to be a
  25494. function of which ethnic groups tend to seek and value education.
  25495. Racial and ethnic prejudice is notably uncommon and tends to be met with
  25496. freezing contempt.
  25497.  
  25498.    When asked, hackers often ascribe their culture's gender- and
  25499. color-blindness to a positive effect of text-only network channels, and
  25500. this is doubtless a powerful influence.  Also, the ties many hackers
  25501. have to AI research and SF literature may have helped them to develop
  25502. an idea of personhood that is inclusive rather than exclusive -- after
  25503. all, if one's imagination readily grants full human rights to future AI
  25504. programs, robots, dolphins, and extraterrestrial aliens, mere color and
  25505. gender can't seem very important any more.
  25506.  
  25507. :Religion:
  25508. ==========
  25509.  
  25510.    Agnostic.  Atheist.  Non-observant Jewish.  Neo-pagan.  Very
  25511. commonly, three or more of these are combined in the same person.
  25512. Conventional faith-holding Christianity is rare though not unknown.
  25513.  
  25514.    Even hackers who identify with a religious affiliation tend to be
  25515. relaxed about it, hostile to organized religion in general and all
  25516. forms of religious bigotry in particular.  Many enjoy `parody'
  25517. religions such as Discordianism and the Church of the SubGenius.
  25518.  
  25519.    Also, many hackers are influenced to varying degrees by Zen Buddhism
  25520. or (less commonly) Taoism, and blend them easily with their `native'
  25521. religions.
  25522.  
  25523.    There is a definite strain of mystical, almost Gnostic sensibility
  25524. that shows up even among those hackers not actively involved with
  25525. neo-paganism, Discordianism, or Zen.  Hacker folklore that pays homage
  25526. to `wizards' and speaks of incantations and demons has too much
  25527. psychological truthfulness about it to be entirely a joke.
  25528.  
  25529. :Ceremonial Chemicals:
  25530. ======================
  25531.  
  25532.    Most hackers don't smoke tobacco, and use alcohol in moderation if at
  25533. all (though there is a visible contingent of exotic-beer fanciers, and
  25534. a few hackers are serious oenophiles).  Limited use of non-addictive
  25535. psychedelic drugs, such as cannabis, LSD, psilocybin, and nitrous
  25536. oxide, etc., used to be relatively common and is still regarded with
  25537. more tolerance than in the mainstream culture.  Use of `downers' and
  25538. opiates, on the other hand, appears to be particularly rare; hackers
  25539. seem in general to dislike drugs that make them stupid.  On the third
  25540. hand, many hackers regularly wire up on caffeine and/or sugar for
  25541. all-night hacking runs.
  25542.  
  25543. :Communication Style:
  25544. =====================
  25545.  
  25546.    See the discussions of speech and writing styles near the beginning
  25547. of this File.  Though hackers often have poor person-to-person
  25548. communication skills, they are as a rule quite sensitive to nuances of
  25549. language and very precise in their use of it.  They are often better at
  25550. writing than at speaking.
  25551.  
  25552. :Geographical Distribution:
  25553. ===========================
  25554.  
  25555.    In the United States, hackerdom revolves on a Bay Area-to-Boston
  25556. axis; about half of the hard core seems to live within a hundred miles
  25557. of Cambridge (Massachusetts) or Berkeley (California), although there
  25558. are significant contingents in Los Angeles, in the Pacific Northwest,
  25559. and around Washington DC.  Hackers tend to cluster around large cities,
  25560. especially `university towns' such as the Raleigh-Durham area in North
  25561. Carolina or Princeton, New Jersey (this may simply reflect the fact
  25562. that many are students or ex-students living near their alma maters).
  25563.  
  25564. :Sexual Habits:
  25565. ===============
  25566.  
  25567.    Hackerdom easily tolerates a much wider range of sexual and lifestyle
  25568. variation than the mainstream culture.  It includes a relatively large
  25569. gay and bisexual contingent.  Hackers are somewhat more likely to live
  25570. in polygynous or polyandrous relationships, practice open marriage, or
  25571. live in communes or group houses.  In this, as in general appearance,
  25572. hackerdom semi-consciously maintains `counterculture' values.
  25573.  
  25574. :Personality Characteristics:
  25575. =============================
  25576.  
  25577.    The most obvious common `personality' characteristics of hackers are
  25578. high intelligence, consuming curiosity, and facility with intellectual
  25579. abstractions.  Also, most hackers are `neophiles', stimulated by and
  25580. appreciative of novelty (especially intellectual novelty).  Most are
  25581. also relatively individualistic and anti-conformist.
  25582.  
  25583.    Although high general intelligence is common among hackers, it is not
  25584. the sine qua non one might expect.  Another trait is probably even more
  25585. important: the ability to mentally absorb, retain, and reference large
  25586. amounts of `meaningless' detail, trusting to later experience to give
  25587. it context and meaning.  A person of merely average analytical
  25588. intelligence who has this trait can become an effective hacker, but a
  25589. creative genius who lacks it will swiftly find himself outdistanced by
  25590. people who routinely upload the contents of thick reference manuals
  25591. into their brains.  [During the production of the first book version of
  25592. this document, for example, I learned most of the rather complex
  25593. typesetting language TeX over about four working days, mainly by
  25594. inhaling Knuth's 477-page manual.  My editor's flabbergasted reaction
  25595. to this genuinely surprised me, because years of associating with
  25596. hackers have conditioned me to consider such performances routine and
  25597. to be expected. --ESR]
  25598.  
  25599.    Contrary to stereotype, hackers are _not_ usually intellectually
  25600. narrow; they tend to be interested in any subject that can provide
  25601. mental stimulation, and can often discourse knowledgeably and even
  25602. interestingly on any number of obscure subjects -- if you can get them
  25603. to talk at all, as opposed to, say, going back to their hacking.
  25604.  
  25605.    It is noticeable (and contrary to many outsiders' expectations) that
  25606. the better a hacker is at hacking, the more likely he or she is to have
  25607. outside interests at which he or she is more than merely competent.
  25608.  
  25609.    Hackers are `control freaks' in a way that has nothing to do with the
  25610. usual coercive or authoritarian connotations of the term.  In the same
  25611. way that children delight in making model trains go forward and back by
  25612. moving a switch, hackers love making complicated things like computers
  25613. do nifty stuff for them.  But it has to be _their_ nifty stuff.  They
  25614. don't like tedium, nondeterminism, or most of the fussy, boring,
  25615. ill-defined little tasks that go with maintaining a normal existence.
  25616. Accordingly, they tend to be careful and orderly in their intellectual
  25617. lives and chaotic elsewhere.  Their code will be beautiful, even if
  25618. their desks are buried in 3 feet of crap.
  25619.  
  25620.    Hackers are generally only very weakly motivated by conventional
  25621. rewards such as social approval or money.  They tend to be attracted by
  25622. challenges and excited by interesting toys, and to judge the interest
  25623. of work or other activities in terms of the challenges offered and the
  25624. toys they get to play with.
  25625.  
  25626.    In terms of Myers-Briggs and equivalent psychometric systems,
  25627. hackerdom appears to concentrate the relatively rare INTJ and INTP
  25628. types; that is, introverted, intuitive, and thinker types (as opposed
  25629. to the extroverted-sensate personalities that predominate in the
  25630. mainstream culture).  ENT[JP] types are also concentrated among hackers
  25631. but are in a minority.
  25632.  
  25633. :Weaknesses of the Hacker Personality:
  25634. ======================================
  25635.  
  25636.    Hackers have relatively little ability to identify emotionally with
  25637. other people.  This may be because hackers generally aren't much like
  25638. `other people'.  Unsurprisingly, hackers also tend towards
  25639. self-absorption, intellectual arrogance, and impatience with people and
  25640. tasks perceived to be wasting their time.
  25641.  
  25642.    As cynical as hackers sometimes wax about the amount of idiocy in the
  25643. world, they tend by reflex to assume that everyone is as rational,
  25644. `cool', and imaginative as they consider themselves.  This bias often
  25645. contributes to weakness in communication skills.  Hackers tend to be
  25646. especially poor at confrontation and negotiation.
  25647.  
  25648.    Because of their passionate embrace of (what they consider to be) the
  25649. {Right Thing}, hackers can be unfortunately intolerant and bigoted on
  25650. technical issues, in marked contrast to their general spirit of
  25651. camaraderie and tolerance of alternative viewpoints otherwise.
  25652. Old-time {{ITS}} partisans look down on the ever-growing hordes of
  25653. {{Unix}} hackers; Unix aficionados despise {VMS} and {{MS-DOS}}; and
  25654. hackers who are used to conventional command-line user interfaces
  25655. loudly loathe mouse-and-menu based systems such as the Macintosh.
  25656. Hackers who don't indulge in {Usenet} consider it a huge waste of time
  25657. and {bandwidth}; fans of old adventure games such as {ADVENT} and
  25658. {Zork} consider {MUD}s to be glorified chat systems devoid of
  25659. atmosphere or interesting puzzles; hackers who are willing to devote
  25660. endless hours to Usenet or MUDs consider {IRC} to be a _real_ waste of
  25661. time; IRCies think MUDs might be okay if there weren't all those silly
  25662. puzzles in the way.  And, of course, there are the perennial {holy
  25663. wars} -- {EMACS} vs. {vi}, {big-endian} vs.  {little-endian}, RISC vs.
  25664. CISC, etc., etc., etc.  As in society at large, the intensity and
  25665. duration of these debates is usually inversely proportional to the
  25666. number of objective, factual arguments available to buttress any
  25667. position.
  25668.  
  25669.    As a result of all the above traits, many hackers have difficulty
  25670. maintaining stable relationships.  At worst, they can produce the
  25671. classic {computer geek}: withdrawn, relationally incompetent, sexually
  25672. frustrated, and desperately unhappy when not submerged in his or her
  25673. craft.  Fortunately, this extreme is far less common than mainstream
  25674. folklore paints it -- but almost all hackers will recognize something
  25675. of themselves in the unflattering paragraphs above.
  25676.  
  25677.    Hackers are often monumentally disorganized and sloppy about dealing
  25678. with the physical world.  Bills don't get paid on time, clutter piles
  25679. up to incredible heights in homes and offices, and minor maintenance
  25680. tasks get deferred indefinitely.
  25681.  
  25682.    1994-95's fad behavioral disease was a syndrome called Attention
  25683. Deficit Disorder, supposedly characterized by (among other things) a
  25684. combination of short attention span with an ability to `hyperfocus'
  25685. imaginatively on interesting tasks.  There are grounds for questioning
  25686. whether ADD actually exists, and if it does whether it is really a
  25687. `disease' rather than an extreme of a normal genetic variation like
  25688. having freckles or being able to taste DPT; but it is certainly true
  25689. that many hacker traits coincide with major indicators for ADD, and
  25690. probably true that ADD boosters would find a far higher rate of
  25691. clinical ADD among hackers than the supposedly mainstream-normal 10%.
  25692.  
  25693.    The sort of person who routinely uses phrases like `incompletely
  25694. socialized' usually thinks hackers are.  Hackers regard such people
  25695. with contempt when they notice them at all.
  25696.  
  25697. :Miscellaneous:
  25698. ===============
  25699.  
  25700.    Hackers are more likely to have cats than dogs (in fact, it is widely
  25701. grokked that cats have the hacker nature).  Many drive incredibly
  25702. decrepit heaps and forget to wash them; richer ones drive spiffy
  25703. Porsches and RX-7s and then forget to have them washed.  Almost all
  25704. hackers have terribly bad handwriting, and often fall into the habit of
  25705. block-printing everything like junior draftsmen.
  25706.  
  25707. :Helping Hacker Culture Grow:
  25708. *****************************
  25709.  
  25710.    If you enjoyed the Jargon File, please help the culture that created
  25711. it grow and flourish.  Here are several ways you can help:
  25712.  
  25713.    * If you are a writer or journalist, don't say or write {hacker}
  25714. when you mean {cracker}.  If you work with writers or journalists,
  25715. educate them on this issue and push them to do the right thing. If you
  25716. catch a newspaper or magazine abusing the work `hacker', write them and
  25717. straighten them out (this appendix includes a model letter).
  25718.  
  25719.    * If you're a techie or computer hobbyist, get involved with one of
  25720. the free Unixes.  Toss out that lame Microsoft OS, or confine it to one
  25721. disk partition and put Linux or FreeBSD or NetBSD on the other one.
  25722. And the next time your friend or boss is thinking about some
  25723. proprietary software `solution' that costs more than it's worth, be
  25724. ready to blow the competition away with open-source software running
  25725. over a Unix.
  25726.  
  25727.    * Contribute to organizations like the Free Software Foundation that
  25728. promote the production of high-quality free and open-source software.
  25729. You can reach the Free Software Foundation at gnu@prep.ai.mit.edu, by
  25730. phone at +1-617-542-5942, or by snail-mail at 59 Temple Place, Suite
  25731. 330, Boston, MA 02111-1307 USA.
  25732.  
  25733.    * Support the League for Programming Freedom, which opposes
  25734. over-broad software patents that constantly threaten to blow up in
  25735. hackers' faces, preventing them from developing innovative software for
  25736. tomorrow's needs.  You can reach the League for Programming Freedom at
  25737. lpf@uunet.uu.net. by phone at +1 617 621 7084, or by snail-mail at 1
  25738. Kendall Square #143, P.O.Box 9171, Cambridge, Massachusetts 02139 USA.
  25739.  
  25740.    * Join the continuing fight against Internet censorship, visit the
  25741. Center for Democracy and Technology Home Page at `http://www.cdt.org'.
  25742.  
  25743.    * If you do nothing else, please help fight government attempts to
  25744. seize political control of Internet content and restrict strong
  25745. cryptography.  The so-called `Communications Decency Act' was declared
  25746. unconstitutional by the Supreme Court, but U.S. cryptography policy
  25747. still infringes our Firat Amendment rights.  Surf to the Center for
  25748. Democracy and technology's home page at `http://www.cdt.org' to see
  25749. what you can do to help fight censorship of the net.
  25750.  
  25751.    Here's the text of a letter RMS wrote to the Wall Street Journal to
  25752. complain about their policy of using "hacker" only in a pejorative
  25753. sense.  We hear that most major newspapers have the same policy.  If
  25754. you'd like to help change this situation, send your favorite newspaper
  25755. the same letter - or, better yet, write your own letter.
  25756.  
  25757.      Dear Editor:
  25758.  
  25759.      This letter is not meant for publication, although you can publish
  25760.      it if you wish.  It is meant specifically for you, the editor, not
  25761.      the public.
  25762.  
  25763.      I am a hacker.  That is to say, I enjoy playing with computers --
  25764.      working with, learning about, and writing clever computer
  25765.      programs.  I am not a cracker; I don't make a practice of breaking
  25766.      computer security.
  25767.  
  25768.      There's nothing shameful about the hacking I do.  But when I tell
  25769.      people I am a hacker, people think I'm admitting something naughty
  25770.      -- because newspapers such as yours misuse the word "hacker",
  25771.      giving the impression that it means "security breaker" and nothing
  25772.      else.  You are giving hackers a bad name.
  25773.  
  25774.      The saddest thing is that this problem is perpetuated deliberately.
  25775.      Your reporters know the difference between "hacker" and "security
  25776.      breaker".  They know how to make the distinction, but you don't let
  25777.      them!  You insist on using "hacker" pejoratively.  When reporters
  25778.      try to use another word, you change it.  When reporters try to
  25779.      explain the other meanings, you cut it.
  25780.  
  25781.      Of course, you have a reason.  You say that readers have become
  25782.      used to your insulting usage of "hacker", so that you cannot
  25783.      change it now.  Well, you can't undo past mistakes today; but that
  25784.      is no excuse to repeat them tomorrow.
  25785.  
  25786.      If I were what you call a "hacker", at this point I would threaten
  25787.      to crack your computer and crash it.  But I am a hacker, not a
  25788.      cracker.  I don't do that kind of thing!  I have enough computers
  25789.      to play with at home and at work; I don't need yours.  Besides,
  25790.      it's not my way to respond to insults with violence.  My response
  25791.      is this letter.
  25792.  
  25793.      You owe hackers an apology; but more than that, you owe us ordinary
  25794.      respect.
  25795.  
  25796.                  Sincerely, etc.
  25797.  
  25798. :Bibliography:
  25799. **************
  25800.  
  25801.    Here are some other books you can read to help you understand the
  25802. hacker mindset.
  25803.  
  25804. :Go"del, Escher, Bach: An Eternal Golden Braid:
  25805. Douglas Hofstadter
  25806. Basic Books, 1979
  25807. ISBN 0-394-74502-7
  25808.  
  25809.    This book reads like an intellectual Grand Tour of hacker
  25810. preoccupations.  Music, mathematical logic, programming, speculations
  25811. on the nature of intelligence, biology, and Zen are woven into a
  25812. brilliant tapestry themed on the concept of encoded self-reference.
  25813. The perfect left-brain companion to "Illuminatus".
  25814.  
  25815. :Illuminatus!:
  25816. I.   "The Eye in the Pyramid"
  25817. II.  "The Golden Apple"
  25818. III. "Leviathan".
  25819. Robert Shea and Robert Anton Wilson
  25820. Dell, 1988
  25821. ISBN 0-440-53981-1
  25822.  
  25823.    This work of alleged fiction is an incredible berserko-surrealist
  25824. rollercoaster of world-girdling conspiracies, intelligent dolphins, the
  25825. fall of Atlantis, who really killed JFK, sex, drugs, rock'n'roll, and
  25826. the Cosmic Giggle Factor.  First published in three volumes, but there
  25827. is now a one-volume trade paperback, carried by most chain bookstores
  25828. under SF.  The perfect right-brain companion to Hofstadter's "Go"del,
  25829. Escher, Bach".  See {Eris}, {Discordianism}, {random numbers}, {Church
  25830. of the SubGenius}.
  25831.  
  25832. :The Hitchhiker's Guide to the Galaxy:
  25833. Douglas Adams
  25834. Pocket Books, 1981
  25835. ISBN 0-671-46149-4
  25836.  
  25837.    This `Monty Python in Space' spoof of SF genre traditions has been
  25838. popular among hackers ever since the original British radio show.  Read
  25839. it if only to learn about Vogons (see {bogon}) and the significance of
  25840. the number 42 (see {random numbers}) -- and why the winningest chess
  25841. program of 1990 was called `Deep Thought'.
  25842.  
  25843. :The Tao of Programming:
  25844. James Geoffrey
  25845. Infobooks, 1987
  25846. ISBN 0-931137-07-1
  25847.  
  25848.    This gentle, funny spoof of the "Tao Te Ching" contains much that is
  25849. illuminating about the hacker way of thought.  "When you have learned
  25850. to snatch the error code from the trap frame, it will be time for you
  25851. to leave."
  25852.  
  25853. :Hackers:
  25854. Steven Levy
  25855. Anchor/Doubleday 1984
  25856. ISBN 0-385-19195-2
  25857.  
  25858.    Levy's book is at its best in describing the early MIT hackers at the
  25859. Model Railroad Club and the early days of the microcomputer revolution.
  25860. He never understood Unix or the networks, though, and his enshrinement
  25861. of Richard Stallman as "the last true hacker" turns out (thankfully) to
  25862. have been quite misleading.  Numerous minor factual errors also mar the
  25863. text; for example, Levy's claim that the original Jargon File derived
  25864. from the TMRC Dictionary (the File originated at Stanford and was
  25865. brought to MIT in 1976; the co-authors of the first edition had never
  25866. seen the dictionary in question).  There are also numerous misspellings
  25867. in the book that inflame the passions of old-timers; as Dan Murphy, the
  25868. author of TECO, once said: "You would have thought he'd take the
  25869. trouble to spell the name of a winning editor right."  Nevertheless,
  25870. this remains a useful and stimulating book that captures the feel of
  25871. several important hackish subcultures.
  25872.  
  25873. :The Computer Contradictionary:
  25874. Stan Kelly-Bootle
  25875. MIT Press, 1995
  25876. ISBN 0-262-61112-0
  25877.  
  25878.    This pastiche of Ambrose Bierce's famous work is similar in format to
  25879. the Jargon File (and quotes several entries from TNHD-2) but somewhat
  25880. different in tone and intent.  It is more satirical and less
  25881. anthropological, and is largely a product of the author's literate and
  25882. quirky imagination.  For example, it defines `computer science' as "a
  25883. study akin to numerology and astrology, but lacking the precision of
  25884. the former and the success of the latter" and `implementation' as "The
  25885. fruitless struggle by the talented and underpaid to fulfill promises
  25886. made by the rich and ignorant"; `flowchart' becomes "to obfuscate a
  25887. problem with esoteric cartoons".  Revised and expanded from "The
  25888. Devil's DP Dictionary", McGraw-Hill 1981, ISBN 0-07-034022-6.
  25889.  
  25890. :The Devouring Fungus: Tales from the Computer Age:
  25891. Karla Jennings
  25892. Norton, 1990
  25893. ISBN 0-393-30732-8
  25894.  
  25895.    The author of this pioneering compendium knits together a great deal
  25896. of computer- and hacker-related folklore with good writing and a few
  25897. well-chosen cartoons.  She has a keen eye for the human aspects of the
  25898. lore and is very good at illuminating the psychology and evolution of
  25899. hackerdom.  Unfortunately, a number of small errors and awkwardnesses
  25900. suggest that she didn't have the final manuscript checked over by a
  25901. native speaker; the glossary in the back is particularly embarrassing,
  25902. and at least one classic tale (the Magic Switch story, retold here
  25903. under {A Story About Magic} in Appendix A is given in incomplete and
  25904. badly mangled form.  Nevertheless, this book is a win overall and can
  25905. be enjoyed by hacker and non-hacker alike.
  25906.  
  25907. :The Soul of a New Machine:
  25908. Tracy Kidder
  25909. Little, Brown, 1981
  25910. (paperback: Avon, 1982
  25911. ISBN 0-380-59931-7)
  25912.  
  25913.    This book (a 1982 Pulitzer Prize winner) documents the adventure of
  25914. the design of a new Data General computer, the MV-8000 Eagle.  It is an
  25915. amazingly well-done portrait of the hacker mindset -- although largely
  25916. the hardware hacker -- done by a complete outsider.  It is a bit thin
  25917. in spots, but with enough technical information to be entertaining to
  25918. the serious hacker while providing non-technical people a view of what
  25919. day-to-day life can be like -- the fun, the excitement, the disasters.
  25920. During one period, when the microcode and logic were glitching at the
  25921. nanosecond level, one of the overworked engineers departed the company,
  25922. leaving behind a note on his terminal as his letter of resignation: "I
  25923. am going to a commune in Vermont and will deal with no unit of time
  25924. shorter than a season."
  25925.  
  25926. :Life with UNIX: a Guide for Everyone:
  25927. Don Libes and Sandy Ressler
  25928. Prentice-Hall, 1989
  25929. ISBN 0-13-536657-7
  25930.  
  25931.    The authors of this book set out to tell you all the things about
  25932. Unix that tutorials and technical books won't.  The result is gossipy,
  25933. funny, opinionated, downright weird in spots, and invaluable.  Along
  25934. the way they expose you to enough of Unix's history, folklore and humor
  25935. to qualify as a first-class source for these things.  Because so much
  25936. of today's hackerdom is involved with Unix, this in turn illuminates
  25937. many of its in-jokes and preoccupations.
  25938.  
  25939. :True Names ... and Other Dangers:
  25940. Vernor Vinge
  25941. Baen Books, 1987
  25942. ISBN 0-671-65363-6
  25943.  
  25944.    Hacker demigod Richard Stallman used to say that the title story of
  25945. this book "expresses the spirit of hacking best".  Until the subject of
  25946. the next entry came out, it was hard to even nominate another
  25947. contender.  The other stories in this collection are also fine work by
  25948. an author who has since won multiple Hugos and is one of today's very
  25949. best practitioners of hard SF.
  25950.  
  25951. :Snow Crash:
  25952. Neal Stephenson
  25953. Bantam, 1992
  25954. ISBN 0-553-56261-4
  25955.  
  25956.    Stephenson's epic, comic cyberpunk novel is deeply knowing about the
  25957. hacker psychology and its foibles in a way no other author of fiction
  25958. has ever even approached.  His imagination, his grasp of the relevant
  25959. technical details, and his ability to communicate the excitement of
  25960. hacking and its results are astonishing, delightful, and (so far)
  25961. unsurpassed.
  25962.  
  25963. :Cyberpunk: Outlaws and Hackers on the Computer Frontier:
  25964. Katie Hafner & John Markoff
  25965. Simon & Schuster 1991
  25966. ISBN 0-671-68322-5
  25967.  
  25968.    This book gathers narratives about the careers of three notorious
  25969. crackers into a clear-eyed but sympathetic portrait of hackerdom's dark
  25970. side.  The principals are Kevin Mitnick, "Pengo" and "Hagbard" of the
  25971. Chaos Computer Club, and Robert T. Morris (see {RTM}, sense 2) .
  25972. Markoff and Hafner focus as much on their psychologies and motivations
  25973. as on the details of their exploits, but don't slight the latter.  The
  25974. result is a balanced and fascinating account, particularly useful when
  25975. read immediately before or after Cliff Stoll's {The Cuckoo's Egg}.  It
  25976. is especially instructive to compare RTM, a true hacker who blundered,
  25977. with the sociopathic phone-freak Mitnick and the alienated, drug-addled
  25978. crackers who made the Chaos Club notorious.  The gulf between {wizard}
  25979. and {wannabee} has seldom been made more obvious.
  25980.  
  25981. :Technobabble:
  25982. John Barry
  25983. MIT Press 1991
  25984. ISBN 0-262-02333-4
  25985.  
  25986.    Barry's book takes a critical and humorous look at the `technobabble'
  25987. of acronyms, neologisms, hyperbole, and metaphor spawned by the
  25988. computer industry.  Though he discusses some of the same mechanisms of
  25989. jargon formation that occur in hackish, most of what he chronicles is
  25990. actually suit-speak -- the obfuscatory language of press releases,
  25991. marketroids, and Silicon Valley CEOs rather than the playful jargon of
  25992. hackers (most of whom wouldn't be caught dead uttering the kind of
  25993. pompous, passive-voiced word salad he deplores).
  25994.  
  25995. :The Cuckoo's Egg:
  25996. Clifford Stoll
  25997. Doubleday 1989
  25998. ISBN 0-385-24946-2
  25999.  
  26000.    Clifford Stoll's absorbing tale of how he tracked Markus Hess and the
  26001. Chaos Club cracking ring nicely illustrates the difference between
  26002. `hacker' and `cracker'.  Stoll's portrait of himself, his lady Martha,
  26003. and his friends at Berkeley and on the Internet paints a marvelously
  26004. vivid picture of how hackers and the people around them like to live
  26005. and how they think.
  26006. #===================== THE JARGON FILE ENDS HERE ====================#
  26007.